java - Amazon S3:使用 Java 开发工具包更改存储桶策略
问题描述
我正在使用 Java (Servlet) 中的“aws-java-sdk-s3”对兼容 Amazon S3 的 Minio 进行测试。
Minio 想将其设置为“Prefix: *, Read Only”,因为存储桶策略的初始值为 None。
我在创建bucket的时候添加了源代码我写的如下,但是并没有改变。
BasicAWSCredentials awsCreds = new BasicAWSCredentials(awsId, awsKey);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withEndpointConfiguration(new EndpointConfiguration(endpoint, null))
.withPathStyleAccessEnabled(true)
.build();
s3client.createBucket(new CreateBucketRequest(bucketName));
s3client.setBucketPolicy(bucketName,
"{"
+ "\"Version\":\"2012-10-17\","
+ "\"Statement\":["
+ "{"
+ "\"Sid\":\"Statement1\","
+ "\"Effect\":\"Allow\","
+ "\"Principal\":\"*\","
+ "\"Action\":[\"s3:GetObject\"],"
+ "\"Resource\":[\"arn:aws:s3:::*\"]"
+ "}"
+ "]"
+ "}"
);
我错了什么?请告诉我。如果可以改变所有桶的桶策略初始值,比如Minio的环境设置,是没有问题的。
谢谢你。
解决方案
推荐阅读
- sql - 在 Label SQL 中添加点表示法
- php - Carbon 中的 ISO 8601 解析验证
- javascript - 从特定位置替换字符串直到结束Javascript
- javascript - 情感/风格 - 悬停在 SVG 组件上
- c++ - c++中奇怪的语法是什么意思
- python - 如何验证python中的单词?
- security - 带有 TLS 客户端身份验证的 nginx... 错误响应未经过相互身份验证?
- html - 如何使用网格布局实现粘性位置
- javascript - 如何上传图片并将其存储在 Firebase 存储中?
- django - Django通过从m2m到模型的字段注释查询集