AWS 오류 메시지:이 리소스에 대해 충돌하는 조건부 작업이 현재 진행 중입니다.
이 에러는 간헐적으로 발생합니다.
저는 java aws sdk를 사용하여 수천 개의 작은 파일을 s3에 로드하는 프로그램을 가지고 있습니다.이 에러는 간헐적으로 발생합니다.
인터넷에서 퀵 검색해도 도움이 되는 답변을 찾을 수 없었습니다.
발신 프로그램은 싱글 스레드입니다.기본 aWS Java sdk에서 작업자 스레드를 사용하는 것 같습니다.
Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2648)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:578)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:503)
다음을 수행해도 동일한 오류 메시지가 표시됩니다.
버킷 생성 - 기본적으로는 미국 지역(AWSCLI 사용)으로 이동했습니다.
실현된 버킷은 EU 지역으로 이동하여 삭제합니다(AWS 콘솔 사용).
(몇 분 후) EU 지역을 지정하여 버킷을 작성하려고 했습니다.
3단계에서 AWS 콘솔은 질문 제목에 오류 메시지가 표시되었습니다.
따라서 US 버킷은 삭제되었지만 동기화 프로세스가 몇 가지 있어 시간이 걸릴 수 있습니다.그리고 몇 시간만 기다리면 이번에는 적절한(EU) 지역에서 버킷 이름을 다시 만들 수 있을 것입니다.
픽스:- 편집: 약 1시간 후에 (EU 지역에서) 버킷을 작성하려고 했습니다.
Google에서 이 스레드를 우연히 발견한 다른 모든 경우, 첫 번째 검색 결과로서 다음 오류 메시지가 나타납니다.
버킷을 삭제한 경우 새 영역에서 다시 작성하려면 백그라운드 동기화가 완료될 때까지 "수동으로" 기다리지 말고 작은 bash 스크립트를 실행하여 필요한 버킷 생성을 5초마다 다시 시도하십시오.
예:
#!/bin/bash
RESULT=2
until [ $RESULT -eq 0 ]; do
aws s3 mb s3://your.bucket.name --region us-west-2
RESULT=$?
sleep 5
done
echo "Bucket created!"
"버킷 만들기" 작업을 몇 초마다 재시도합니다('sleep'에 따라 다름). 가능한 한 빨리 - 작성되므로 실수로 버킷 이름을 도용할 수 없습니다.
도움이 되길 바란다:)
이 예의 요구는 버킷을 작성하는 것입니다.너무 많은 버킷을 만들거나 버킷을 바꾸려고 하면 정상 상태가 아닙니다.
계정에는 100버킷의 제한이 있습니다(여기를 참조).편집: 이 제한은 "소프트 제한"이므로 필요에 따라 늘릴 수 있습니다.
또한 버킷 작성에는 시간이 걸리고 다음 사항에 주의하십시오.
...어플리케이션의 하이 어베이러빌리티 코드 패스로 버킷에 콜을 작성하거나 삭제하는 것은 적절하지 않습니다.
버킷을 한 번 만든 후 원하는 개수의 개체를 기존 버킷(또는 단일 버킷)에 넣을 수 있습니다.
어쨌든, 때때로 장해가 발생할 가능성이 있는 시스템을 조작하는 경우, 이러한 에러가 발생했을 때에, 에러를 처리해 처리 속도를 늦출 수 있습니다.자세한 내용은 AWS 문서를 참조하십시오.
일반적으로 이 오류는 버킷이 삭제되고 이전 버킷과 동일한 이름으로 새 버킷이 생성될 때 발생합니다.
같은 이름으로 새 버킷을 만들 수 있을 때까지 일정 시간을 기다려야 할 것 같습니다.
심플하고 알기 쉽게:새 버킷 이름을 변경하거나 1시간 기다립니다.
마지막으로, AWS는 이제 자체 지식 센터에 명확한 답을 제시했습니다. https://aws.amazon.com/premiumsupport/knowledge-center/s3-conflicting-conditional-operation/를 참조하십시오.
방금 버킷을 삭제했습니다(S3 버킷 이름은 글로벌하게 고유하고 다른 AWS 계정에 동일한 버킷을 생성해야 하므로). 동일한 이름의 버킷을 생성하는 스크립트가 동일한 오류로 인해 실패합니다.그래서 나는 인내심을 갖고 한 시간 동안 기다려야 해.
확인 사항: 약 1시간 후에 삭제된 버킷과 동일한 이름의 버킷을 생성할 수 있습니다.
버킷 이름을 변경하거나 기다리십시오.나는 30분도 채 못 기다렸다.이름을 변경할 필요도 없었고, 이미 설정한 상태에서도 변경할 수도 없었습니다.호스트하고 싶은 정적 웹 사이트의 기존 도메인 이름과 일치해야 했습니다.어쨌든 30분도 안 되어 자동으로 생성되었습니다.
계정에 이미 100개가 넘는 버킷이 있는 경우에도 이 메시지가 표시됩니다.소프트 제한은 100 버킷입니다.
Cloud Formation 템플릿을 실행 중 오류가 발생하였습니다.
EC2가 CFN 템플릿을 실행하고 있다고 가정한 IAM 역할에는 S3 버킷을 만들 수 있는 권한이 없는 것으로 나타났습니다.
IAM 액세스를 제공하거나 다른 IAM 역할을 사용하여AWS Configure
또는 S3 버킷을 작성하기 위해 필요한 권한을 가진 역할을 프로그래밍 방식으로 가정합니다.
언급URL : https://stackoverflow.com/questions/13898057/aws-error-message-a-conflicting-conditional-operation-is-currently-in-progress
'source' 카테고리의 다른 글
컴포넌트 method()에서 Vuex $store.getters에 액세스합니다. (0) | 2022.08.30 |
---|---|
메서드에 대한 Java 변수 인수 수 (0) | 2022.08.29 |
Vuex 커밋이 v-show를 트리거하지 않음 (0) | 2022.08.29 |
Element UI Input v2.x에 입력할 때 값을 내보내는 방법 (0) | 2022.08.29 |
제목에 링크가 있는 Bootstrap-Vue (0) | 2022.08.29 |