LoginSignup
4
3

More than 5 years have passed since last update.

[AWS SDK for Go] S3の署名付きURLを取得する

Posted at

プライベートなS3コンテンツにアクセスしたい!

→署名付きURLを発行する!

svc := s3.New(session.New(), aws.NewConfig().WithRegion("ap-northeast-1"))

req, _ := svc.GetObjectRequest(&s3.GetObjectInput{
    Bucket: aws.String("bucket_name"),
    Key:    aws.String("file_path"),
})
url, err := req.Presign(time.Hour * 2) // 有効期限を指定して署名付きURLを取得
if err != nil {
    fmt.Println("Failed to sign request", err)
}

fmt.Println(url)

コマンドでも取得できるので、確認用に
$ aws s3 presign s3://bucket_name/file_path --expires-in 30

こう使ってます

  1. DynamoDBにバケット名とファイルパスを保存しておく
  2. バケット名とファイルパスを指定して、S3から署名付きURLを取得
  3. ファイルが見れる!
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3