我正在为 golang 使用 s3manager,我正在尝试将文件上传到我帐户之外的存储桶。当我成功上传文件时,该存储桶的接收者无法打开它。这是我的 UploadInputupParams := &s3manager.UploadInput{ Bucket: aws.String(bucket), Key: aws.String(key), Body: file,}我尝试添加 GrantFullControl 参数,它实际上在 uploader.Upload() 上有错误upParams := &s3manager.UploadInput{ Bucket: aws.String(bucket), Key: aws.String(key), Body: file, GrantFullControl: aws.String("GrantFullControl"), }它在本地工作,但一旦部署,是否有正确的方法使用此库授予上传文件的权限?
1 回答

慕桂英546537
TA贡献1848条经验 获得超10个赞
我相信您需要指定您授予谁完全控制权。
upParams := &s3manager.UploadInput{
Bucket: aws.String(bucket),
Key: aws.String(key),
Body: file,
GrantFullControl: aws.String("Arn of user or account ID who gets access"),
}
请参阅REST API 文档和有关访问权限的部分。
如果您只想公开访问您的对象或仅在单个帐户中操作,您还可以将 ACL 参数设置为受支持的标准 ACL 之一。
例如,
upParams := &s3manager.UploadInput{
Bucket: aws.String(bucket),
Key: aws.String(key),
Body: file,
ACL: aws.String("public-read"),
}
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消