[fix-14119] The checkBucketNameExists method should not use s3Client. listBuckets() (#14188)

* optimize checkBucketNameExists

* fix code style

---------

Co-authored-by: 詹子恒 <ziheng.zhan@longbridge.sg>
This commit is contained in:
Zzih 2023-05-24 05:43:44 +00:00 committed by GitHub
parent 4c2e57cfb3
commit 43d7b35977
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 22 deletions

View File

@ -35,7 +35,6 @@ import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;
@ -162,17 +161,13 @@ public class S3RemoteLogHandler implements RemoteLogHandler, Closeable {
throw new IllegalArgumentException("remote.logging.s3.bucket.name is blank");
}
Bucket existsBucket = s3Client.listBuckets()
.stream()
.filter(
bucket -> bucket.getName().equals(bucketName))
.findFirst()
.orElseThrow(() -> {
return new IllegalArgumentException(
"bucketName: " + bucketName + " is not exists, you need to create them by yourself");
});
boolean existsBucket = s3Client.doesBucketExistV2(bucketName);
if (!existsBucket) {
throw new IllegalArgumentException(
"bucketName: " + bucketName + " is not exists, you need to create them by yourself");
}
log.info("bucketName: {} has been found, the current regionName is {}", existsBucket.getName(),
log.info("bucketName: {} has been found, the current regionName is {}", bucketName,
s3Client.getRegionName());
}
}

View File

@ -63,7 +63,6 @@ import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.DeleteObjectsRequest;
import com.amazonaws.services.s3.model.ListObjectsV2Request;
import com.amazonaws.services.s3.model.ListObjectsV2Result;
@ -404,17 +403,13 @@ public class S3StorageOperator implements Closeable, StorageOperate {
throw new IllegalArgumentException("resource.aws.s3.bucket.name is blank");
}
Bucket existsBucket = s3Client.listBuckets()
.stream()
.filter(
bucket -> bucket.getName().equals(bucketName))
.findFirst()
.orElseThrow(() -> {
return new IllegalArgumentException(
"bucketName: " + bucketName + " is not exists, you need to create them by yourself");
});
boolean existsBucket = s3Client.doesBucketExistV2(bucketName);
if (!existsBucket) {
throw new IllegalArgumentException(
"bucketName: " + bucketName + " is not exists, you need to create them by yourself");
}
log.info("bucketName: {} has been found, the current regionName is {}", existsBucket.getName(),
log.info("bucketName: {} has been found, the current regionName is {}", bucketName,
s3Client.getRegionName());
}