创建bucket
@SneakyThrows
public boolean makeBucket(String bucketName) {
boolean flag = minioClient.bucketExists(bucketName);
if (!flag) {
minioClient.makeBucket(bucketName);
return true;
} else {
return false;
}
}
为创建的bucket设置权限
创建bucket成功后,默认的policy是私有的private
如果想要更改这个权限可以通过控制台直接修改或者通过minio-api修改
通过api需要用到setBucketPolicy接口
@SneakyThrows
public boolean makeBucketPolicy(String bucketName, String policy) {
boolean flag = bucketExists(bucketName);
if (flag) {
minioClient.setBucketPolicy(bucketName, policy);
return true;
} else {
return false;
}
}
需要注意policy这个参数,需要传一个json字符串,这里提供一个设置全部权限的格式。
//将bucketName替换为自己创建的bucket即可
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": ["s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads"],
"Resource": ["arn:aws:s3:::bucketName"]
}, {
"Effect": "Allow",
"Principal": {
"AWS": ["*"]
},
"Action": ["s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject"],
"Resource": ["arn:aws:s3:::bucketName/*"]
}]
}
再提供一个设置private的数据格式
{"Version":"2012-10-17","Statement":[]}