我正在使用 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的环境设置,是没有问题的。
谢谢你。