[Go] S3 からファイルを 1 つ取得する (aws-sdk-go-v2)
作成日: 2022年08月07日
s3.Client
構造体の GetObject
関数を使用すると、任意のバケットからファイルを 1 つ取得することができます。
package main
import (
"context"
"fmt"
"io/ioutil"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/s3"
)
func main() {
ctx := context.Background()
cfg, err := config.LoadDefaultConfig(
ctx,
config.WithSharedConfigProfile("default"),
)
if err != nil {
panic(err.Error())
}
s3Client := s3.NewFromConfig(cfg)
response, err := s3Client.GetObject(ctx, &s3.GetObjectInput{
Bucket: aws.String("dummy.s3.example.com"),
Key: aws.String("dummy_files/file1.txt"),
})
if err != nil {
panic(err.Error())
}
defer response.Body.Close()
responseBody, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err.Error())
}
fmt.Print(string(responseBody))
}