내 코드에서 aws s3 SDK를 사용하고 있습니다. 내 테스트에서 테스트를 위해 버킷을 만들거나 삭제하려고합니다.
내 SDK 버전은 1.11.800입니다.
<aws-s3-sdk.version>1.11.800</aws-s3-sdk.version>
<aws-java-sdk-core.version>1.11.800</aws-java-sdk-core.version>
생성 코드는 aws 예제와 정확히 동일합니다.
public void createBucket(String bucketName){
try {
if (!s3Client.doesBucketExistV2(bucketName)) {
// Because the CreateBucketRequest object doesn't specify a region, the
// bucket is created in the region specified in the client.
s3Client.createBucket(new CreateBucketRequest(bucketName));
// Verify that the bucket was created by retrieving it and checking its location.
String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName));
System.out.println("Bucket location: " + bucketLocation);
}
} catch (AmazonServiceException e) {
// The call was transmitted successfully, but Amazon S3 couldn't process
// it and returned an error response.
e.printStackTrace();
} catch (SdkClientException e) {
// Amazon S3 couldn't be contacted for a response, or the client
// couldn't parse the response from Amazon S3.
e.printStackTrace();
}
}
예외 :
22:32:33.949 [main] DEBUG com.amazonaws.request - Received error response: com.amazonaws.services.s3.model.AmazonS3Exception: You have attempted to create more buckets than allowed (Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: 4FE57EE4ACC6C7E4; S3 Extended Request ID: qIzyYNg6Il9J+ehR+JM3W5+RZWg43GJIU9v4EA5ajHG05bUydw8lN3qLZY5u/QjdXhV8tJlINMk=; Proxy: null), S3 Extended Request ID: qIzyYNg6Il9J+ehR+JM3W5+RZWg43GJIU9v4EA5ajHG05bUydw8lN3qLZY5u/QjdXhV8tJlINMk=
com.amazonaws.services.s3.model.AmazonS3Exception: You have attempted to create more buckets than allowed (Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: 4FE57EE4ACC6C7E4; S3 Extended Request ID: qIzyYNg6Il9J+ehR+JM3W5+RZWg43GJIU9v4EA5ajHG05bUydw8lN3qLZY5u/QjdXhV8tJlINMk=; Proxy: null), S3 Extended Request ID: qIzyYNg6Il9J+ehR+JM3W5+RZWg43GJIU9v4EA5ajHG05bUydw8lN3qLZY5u/QjdXhV8tJlINMk=
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1811)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1395)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1371)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1145)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:802)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:744)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:704)
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:686)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:550)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:530)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5062)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5008)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:1097)
내 계정에 100 개가 넘는 버킷이 있지만 AWS 콘솔에서 버킷을 만들려고하면 아무 문제없이 성공적으로 버킷을 생성합니다.
버킷을 수동으로 생성하고이 버킷을 생성하지 않는 다른 테스트를 실행하면 버킷에서 콘텐츠를 성공적으로 넣고 삭제하여 자격 증명 문제가되지 않습니다.
기본적으로 AWS 계정은 100 개의 S3 버킷으로 제한됩니다.
지원 포털을 통해 새 사례를 작성 하여 서비스 제한 증가 요청을 제출해야합니다 . . 계정의 기본 소프트 제한을 무시하면 최대 1000 개의 S3 버킷을 만들 수 있습니다.
버킷 제한에 대한 자세한 내용은 여기를 참조하십시오
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다