【golang】aws s3 go sdk

忘是亡心i 2022-06-10 04:40 472阅读 0赞

aws s3 go sdk 使用

引入包

  1. "github.com/aws/aws-sdk-go/aws"
  2. "github.com/aws/aws-sdk-go/aws/credentials"
  3. "github.com/aws/aws-sdk-go/aws/session"
  4. "github.com/aws/aws-sdk-go/service/s3"

创建 session

  1. func newSession() (*session.Session, error){
  2. creds := credentials.NewStaticCredentials(ak, sk, "")
  3. config := &aws.Config{
  4. Region: aws.String(region),
  5. Endpoint: &endpoint,
  6. S3ForcePathStyle: aws.Bool(true),
  7. Credentials: creds,
  8. DisableSSL: &disableSSL,
  9. }
  10. return session.NewSession(config)
  11. }

创建 bucket

  1. sess, err := newSession()
  2. if err != nil {
  3. fmt.Println("failed to create session,", err)
  4. return }
  5. svc := s3.New(sess)
  6. params := &s3.CreateBucketInput{
  7. Bucket: aws.String(bucket),
  8. }
  9. _, err = svc.CreateBucket(params)

列出所有 bucket

  1. sess, err := newSession()
  2. if err != nil {
  3. fmt.Println("failed to create session,", err)
  4. return }
  5. svc := s3.New(sess)
  6. resp, err := svc.ListBuckets(&s3.ListBucketsInput{})

上传 object

  1. sess, err := newSession()
  2. if err != nil {
  3. fmt.Println("failed to create session,", err)
  4. return }
  5. svc := s3.New(sess)
  6. params := &s3.PutObjectInput{
  7. Bucket: aws.String(bucket), // Required
  8. Key: aws.String(object), // Required
  9. Body: bytes.NewReader([]byte(content)),
  10. }
  11. _, err = svc.PutObject(params)

列出一个 bucket 的所有 object

  1. sess, err := newSession()
  2. if err != nil {
  3. fmt.Println("failed to create session,", err)
  4. return }
  5. svc := s3.New(sess)
  6. params := &s3.ListObjectsInput{
  7. Bucket: aws.String(bucket), // Required
  8. }
  9. resp, err := svc.ListObjects(params)

发表评论

表情:
评论列表 (有 0 条评论,472人围观)

还没有评论,来说两句吧...

相关阅读