如何在通过Amazon s3 API上传时设置文件权限

时间:2010-10-05 12:11:12

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

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

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

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

先谢谢。

Kamal Kant Pansari

3 个答案:

答案 0 :(得分:3)

为您的PUT请求添加标题:

x-amz-acl: public-read

答案 1 :(得分:3)

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

您需要将标题设置为

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

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

答案 2 :(得分:2)

您还可以使用广告管理政策功能。

以下是一个存储桶策略示例,指示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免费软件查看和编辑广告连播政策。您可以找到更多Bucket Policies示例here