如何使这个s3 bucket私有化,以便默认情况下所有对象也是私有的?
func CreateBucket(svc *s3.S3, bucketName string) error {
fmt.Printf("n=====================================================n")
fmt.Printf("nCreating a new bucket named '" + bucketName + "'...nn")
_, err := svc.CreateBucket(&s3.CreateBucketInput{
Bucket: aws.String(bucketName),
//ACL: ACLPrivateRead,
})
if err != nil {
if awsErr, ok := err.(awserr.Error); ok {
if awsErr.Code() == "409" {
return nil
}
}
return err
}
return nil
}
从官方的Go SDK文档中,您可以使用PublicAccessBlockRequest
来检查bucket是否允许公共访问。此阻止请求的工作方式应为True/启用以阻止公共访问。有一些方法可以从bucket中获取、放置、删除此配置。
参考具有功能的文档https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#S3.CreateBucket