我已创建 aws3 存储桶并成功将文件上传到其中。我想在存储桶中创建两个文件夹(一个用于存储公共(public)文件,另一个用于存储私有(private)文件)。如何设置文件夹访问私有(private)或公共(public)。
最佳答案
我假设您正在从 AWS 控制台进行尝试。在这种情况下,只需右键单击要公开的文件夹即可。右键单击,应该有一个选项“make-public”,这应该将其公开。
使用 Java 编程: 如果要创建文件夹(这是 S3 技术术语的关键),您需要使用“ jar 装 ACL”。
因此,您的代码应如下所示: s3client.putObject(...).withCannedAcl(CannedAccessControlList.PublicRead)
参见引用https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
正如您在评论中提到的,每个人都应该拥有对公共(public)文件夹的读取访问权限,在这种情况下,有一个存储桶级别策略向每个人授予“公共(public)”命名文件夹访问权限。
政策示例: 示例:
{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::test-b11/public/*"]
}
]
}
其中存储桶名称为“test-b11”,公共(public)文件夹为“public”
在控制台中,单击一个存储桶,转到“权限”选项卡,然后单击需要上传策略的“存储桶策略”。
关于amazon-web-services - 在 Amazon S3 中将 aws3 存储桶中创建的文件夹设为公开或私有(private),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51284040/