登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-02-22 15:21:24 467浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《s3manager 库上传到 s3 存储桶不会让收件人访问/打开文件》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

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

这是我的上传输入

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"),
    }

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


解决方案


我相信您需要指定您授予谁完全控制权。

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 doc 和有关访问权限的部分。

如果您只想授予对对象的公共访问权限或仅在单个帐户中进行操作,您还可以将 acl 参数设置为受支持的 canned ACLs. 之一

例如,

upParams := &s3manager.UploadInput{
        Bucket:        aws.String(bucket),
        Key:           aws.String(key),
        Body:          file,
        ACL:           aws.String("public-read"),
    }


今天关于《s3manager 库上传到 s3 存储桶不会让收件人访问/打开文件》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>