如何在通过Amazon s3 API上传时设置文件权限
有没有办法在通过Amazon S3 API上传文件时设置文件权限。
在我目前的解决方案中,我能够将文件上传到我的存储桶,但我无法通过文件属性部分中提到的URL查看该文件。 当我在查询字符串中传递访问键时它正在打开。
是否需要在Amazon S3中进行任何设置,或者我需要在上载时为所有文件设置权限。
提前致谢。
Kamal Kant Pansari
在PUT请求中添加标头:
x-amz-acl: public-read
您还可以使用Bucket Policiesfunction。
以下是一个存储桶策略示例,它指示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 Freeware查看和编辑Bucket Policies。 您可以在此处找到更多Bucket Policies示例。
在C#中创建> mazon的响应对象时,在响应方法中,您将找到Addheader
。
您需要将标头设置为
response.Addheader("x-amz-acl","public-read");
亚马逊在其Web服务API中提供这些方法,请参考。