s3manager 库上传到 s3 存储桶不会让收件人访问/打开文件

我正在为 golang 使用 s3manager,我正在尝试将文件上传到我帐户之外的存储桶。当我成功上传文件时,该存储桶的接收者无法打开它。


这是我的 UploadInput


upParams := &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"),

    }

它在本地工作,但一旦部署,是否有正确的方法使用此库授予上传文件的权限?


慕姐8265434
浏览 101回答 1
1回答

慕桂英546537

我相信您需要指定您授予谁完全控制权。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"),    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go