桶相关接口 创建桶 功能说明 用户通过创建桶操作创建桶(bucket)后才能访问存储资源,每个用户可以拥有多个桶。桶的名称在媒体存储范围内必须是全局唯一的,一旦创建之后无法修改名称。桶的创建者默认是桶的拥有者,对桶拥有FULLCONTROL权限,可以通过设置参数的方式为其他用户配置创建桶的权限。桶的命名规范如下: 使用字母、数字和短横线(); 以小写字母或者数字开头和结尾; 长度在363字节之间。 代码示例 plaintext func CreateBucket(svc s3.S3) { bucketName : " " // 创建桶 createBucketInput : &s3.CreateBucketInput{ Bucket: aws.String(bucketName), GrantFullControl: aws.String("emailAddress "), } createBucketOutput, err : svc.CreateBucket(createBucketInput) if err ! nil { fmt.Printf("Unable to create bucket %s, %vn", bucketName, err) } // 等待桶创建 fmt.Printf("Waiting for bucket %s to be created...n", bucketName) err svc.WaitUntilBucketExists(&s3.HeadBucketInput{ Bucket: aws.String(bucketName), }) if err ! nil { fmt.Printf("Error occurred while waiting for bucket to be created, %v", createBucketOutput) } fmt.Printf("Bucket %s successfully createdn", bucketName) } 通过CreateBucketRequest操作: CreateBucketRequest操作首先生成一个"request.Request"对象,该对象是一个执行CreateBucket操作的请求。通过调用Request对象的Send方法完成创建bucket的操作。该方法可以生成定制化的请求,例如自定义请求头部请求超时重试设置。 plaintext func CreateBucketRequest(svc s3.S3) { createBucketInput : &s3.CreateBucketInput{ Bucket: aws.String(" "), } req, createBucketOutput : svc.CreateBucketRequest(createBucketInput) err : req.Send() if err ! nil { fmt.Printf("fail to create bucket. %vn", err) } else { fmt.Println(createBucketOutput) } }
来自: