我正在使用Java(Servlet)中的“ aws-java-sdk-s3”与Amazon S3兼容的Minio进行测试。
Minio希望将此设置为“前缀:*,只读”,因为存储桶策略的初始值为“无”。
我在创建存储桶时添加了源代码 我写的如下,但没有改变。
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的环境设置),则没有问题。
谢谢。