【问题标题】:How to set the permission on files at the time of Upload through Amazon s3 API如何在通过 Amazon s3 API 上传时设置文件权限
【发布时间】:2010-10-05 12:11:12
【问题描述】:

有没有办法在通过Amazon S3 API上传文件时设置文件权限。

在我当前的解决方案中,我可以将文件上传到我的存储桶中,但我无法通过文件属性部分中提到的 URL 查看文件。当我在查询字符串中传递访问密钥时,它正在打开。

Amazon S3 中是否需要任何设置,或者我需要在上传时设置所有文件的权限。

提前致谢。

卡马尔·康德·潘萨里

【问题讨论】:

    标签: c# api amazon-s3 amazon file-permissions


    【解决方案1】:

    为您的 PUT 请求添加标头:

    x-amz-acl: public-read

    【讨论】:

      【解决方案2】:

      在 C# 中,当您创建 >mazon 的响应对象时,在响应方法中您将找到 Addheader

      您需要将标题设置为

      response.Addheader("x-amz-acl","public-read");
      

      亚马逊在其网络服务 API 中提供这些方法,请参考。

      【讨论】:

        【解决方案3】:

        您还可以使用 Bucket Policies 功能。

        以下是指示 amazon s3 公开所有文件(包括您将上传的新文件)的存储桶策略示例:

        {
          "Version":"2008-10-17",
          "Statement":[{
            "Sid":"AllowPublicRead",
                "Effect":"Allow",
              "Principal": {
                    "AWS": "*"
                 },
              "Action":["s3:GetObject"],
              "Resource":["arn:aws:s3:::your.bucket.name/*"
              ]
            }
          ]
        }
        

        将 your.bucket.name 替换为您的实际存储桶名称

        您可以使用S3 Browser 免费软件查看和编辑存储桶策略。您可以找到更多存储桶策略示例here

        【讨论】:

          猜你喜欢
          • 2017-03-09
          • 2010-10-12
          • 2018-11-07
          • 2011-11-17
          • 1970-01-01
          • 1970-01-01
          • 2017-11-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多