【golang】aws s3 go sdk

来源:互联网 发布:淘宝网阿迪达斯不敢买 编辑:程序博客网 时间:2024/06/05 08:09

aws s3 go sdk 使用


引入包

"github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/credentials""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/s3"

创建 session

func newSession() (*session.Session, error){       creds := credentials.NewStaticCredentials(ak, sk, "")       config := &aws.Config{              Region:           aws.String(region),              Endpoint:         &endpoint,              S3ForcePathStyle: aws.Bool(true),              Credentials:      creds,              DisableSSL:       &disableSSL,       }       return session.NewSession(config)}


创建 bucket

sess, err := newSession()if err != nil {       fmt.Println("failed to create session,", err)       return}svc := s3.New(sess)params := &s3.CreateBucketInput{       Bucket: aws.String(bucket),}_, err = svc.CreateBucket(params)


列出所有 bucket

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


上传 object

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

列出一个 bucket 的所有 object

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

原创粉丝点击