使用TransferUtility for Amazon S3上传文件后,我无法使用该文件。
Request failed 403: Forbidden
当我去我的水桶并查看右边的权限时,它只显示我。 当我添加所有人时,我可以毫无问题地访问该文件。
我正在寻找一种在上传时授予权限的方法,但可以为Android找到一个。
我找到了C#的答案,这让我想到了这个:
CannedAccessControlList cannedAccessControlList = CannedAccessControlList.BucketOwnerFullControl;
但我不知道在哪里添加..
答案 0 :(得分:0)
最简单的方法是定义一个Bucket Policy,授予对存储桶或存储桶中的路径的公共访问权限。这样,您就不需要为每个单独的对象指定权限。
请参阅:Using Bucket Policies and User Policies
例如,此存储桶策略允许公共访问存储在uploads
路径中的任何对象:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AddPerm",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/uploads/*"]
}
]
}
答案 1 :(得分:0)
transferManager.upload(new putObjectRequest(“bucket name”,“file name”,“file path object”)。withCannedAcl(CannedAccessControlList.PublicRead));