Lambda 함수를 트리거하기 위해 Amazon S3 이벤트 알림을 생성할 때 "Configuration is ambiguously defined" 오류가 발생하는 이유는 무엇입니까?

최종 업데이트 날짜: 2019년 10월 24일

AWS Lambda 함수를 트리거하기 위해 Amazon Simple Storage Service(Amazon S3) 버킷 이벤트 알림을 생성하려고 할 때 "Configuration is ambiguously defined. Cannot have overlapping suffixes in two rules if the prefixes are overlapping for the same event type."이라는 오류가 발생하는 이유는 무엇입니까?

간략한 설명

새 알림의 이벤트 정보와 접두사 또는 접미사 값이 S3 버킷의 기존 알림 구성 정보와 중첩되면 이 오류가 발생합니다. 이러한 상황은 다음과 같은 경우에 발생할 수 있습니다.

  • 최근에 삭제한 S3 이벤트 알림을 다시 생성하는 경우
  • 중첩된 접두사 또는 접미사를 사용하여 중첩된 여러 이벤트에 대한 S3 이벤트 알림을 생성하는 경우

참고: S3 이벤트 알림 구성에서는 중첩되지 않은 접두사 또는 접미사가 있는 중첩된 이벤트와 중첩된 접두사 또는 접미사가 있는 중첩되지 않은 이벤트가 허용됩니다.

자세한 내용과 예제는 이벤트 알림을 활성화하는 방법객체 키 이름 필터링으로 알림 구성을 참조하십시오.

해결 방법

다음 중 하나를 수행하십시오.

그리고 다음 중 하나를 수행하십시오.

중첩 이벤트 제거

Amazon S3 콘솔에서 생성하려는 새 이벤트 알림과 중첩되는 기존 이벤트 알림을 삭제하십시오.

또는 AWS CLI 명령 put-bucket-notification-configuration을 실행하여 S3 버킷의 알림 구성 JSON 파일을 업데이트하십시오.

새 알림 재구성

S3 버킷 네임스페이스객체 키 이름 지정을 변경하여 중첩되지 않은 접두사가 있는 여러 개의 중첩 이벤트를 허용합니다. 예를 들어 업로드한 이미지 등의 중첩되는 이벤트 객체가 이미지 파일 유형(접미사)에 따라 다음과 같이 서로 다른 S3 버킷 폴더(접두사)를 사용하도록 지정할 수 있습니다.

  • S3://mybucket/uploadedJPEG
  • S3://mybucket/uploadedGIF

사용 사례에 맞게 재설계

중첩을 방지하기 위해 S3 이벤트 알림을 재구성할 수 없는 경우 아키텍처를 재설계하여 문제를 해결해 보십시오. 예를 들어 다음과 같습니다.

팁: 보다 복잡한 아키텍처 및 프로세스의 경우 AWS Step Functions 상태 시스템을 사용하여 워크플로를 설계하고 관리하십시오. 자세한 내용은 AWS Step Functions Use Cases자습서를 참조하십시오.