網頁

2022/5/4

Golang 上傳檔案到AWS S3 bucket目錄

Go應用程式中以AWS提供的SDK aws-sdk-go-v2上傳檔案到S3 bucket的目錄。


上傳檔案到S3 bucket目錄

AWS S3 bucket的objects(檔案物件)是以唯一識別的key名稱來分別彼此,在key中使用前綴加分隔符/來作為AWS console上的目錄。不過AWS S3 bucket實際是沒有目錄階層概念的扁平結構,只是AWS console上支援以目錄顯示而已。

在「Golang 從本機上傳檔案到AWS S3 bucket」範例中上傳的object名稱key沒有任何前綴和分隔符所以是將greeting.txt上傳到bucket的根目錄。若要改上傳到note/目錄則上傳時的key命名為note/greeting.txt即可。

func CreateInput() *s3.PutObjectInput {
    bucket := "s3-demo-bucket-202112151320"
    key := "note/greeting.txt" // upload greeting.txt to note/ folder
    data := strings.NewReader("good day")

    return &s3.PutObjectInput{
        Bucket: &bucket,
        Key:    &key,
        Body:   data,
    }
}

執行後AWS console上可看到檔案上傳到bucket的note/greeting.txt




沒有留言:

張貼留言