我一直在尝试使用高浪和本地堆栈在S3存储桶上学习CRUD操作使用以下代码import ( "fmt" "io/ioutil" "os" "strings" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3")var ( s3session *s3.S3)const ( REGION = "us-east-1" Bucket_Name string = "sahil1234")func init() { s3session = s3.New(session.Must(session.NewSession(&aws.Config{ Region: aws.String("us-east-1"), Endpoint: aws.String("http://localhost:4566/"), })))}func listBuckets() (resp *s3.ListBucketsOutput) { resp, err := s3session.ListBuckets(&s3.ListBucketsInput{}) if err != nil { panic(err) } return resp}func createBucket() (resp *s3.CreateBucketOutput) { resp, err := s3session.CreateBucket(&s3.CreateBucketInput{ // ACL: aws.String(s3.BucketCannedACLPrivate), // ACL: aws.String(s3.BucketCannedACLPublicRead), Bucket: aws.String(Bucket_Name), CreateBucketConfiguration: &s3.CreateBucketConfiguration{ LocationConstraint: aws.String(REGION), }, }) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { case s3.ErrCodeBucketAlreadyExists: fmt.Println("Bucket name already in use!") panic(err) case s3.ErrCodeBucketAlreadyOwnedByYou: fmt.Println("Bucket exists and is owned by you!") default: panic(err) } } } return resp}func uploadObject(filename string) (resp *s3.PutObjectOutput) { f, err := os.Open(filename) if err != nil { panic(err) }
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报
0/150
提交
取消