Amazon DynamoDB 전역 테이블에서 스트림을 처리하기 위해 AWS Lambda 트리거를 생성하려고 합니다.
해결 방법
DynamoDB 전역 테이블은 단일 계정의 리전 간 복제본 모음입니다. 전역 테이블은 DynamoDB 스트림을 사용하여 서로 다른 리전에 데이터를 복제합니다. 전역 테이블의 복제본을 생성하면 기본적으로 스트림이 생성됩니다. 복제본에 대한 모든 변경 사항은 DynamoDB Streams를 사용하여 1초 내에 동일한 전역 테이블 내의 다른 모든 복제본에 복제됩니다.
참고: 한 리전의 전역 테이블 복제본에 단일 소비자를 보유하는 것만으로도 모든 항목에 대한 수정 레코드를 검색할 수 있습니다.
다음을 수행하여 전역 테이블 복제본에서 스트림을 처리하도록 AWS Lambda 트리거를 구성할 수 있습니다.
- AWSLambdaDynamoDBExecutionRole에 필요한 AWS Identity and Access Management(IAM) 권한이 있는지 확인합니다.
참고: AWSLambdaDynamoDBExecutionRole IAM 정책에는 기본적으로 Lambda가 Amazon Simple Notification Service(SNS)와 같은 다른 서비스와 통신할 수 있는 권한이 없습니다. 즉, Lambda 대상에 따라 필요한 추가 권한을 추가해야 합니다.
- 청사진 dynamodb-process-stream을 사용하여 Lambda 함수를 생성합니다. 스트림 데이터를 처리하기 위한 요구 사항에 따라 Lambda 코드를 수정할 수 있습니다.
- Lambda 함수를 생성한 후 DynamoDB 콘솔을 열고 전역 테이블 복제본을 선택합니다. 내보내기 및 스트림(Exports and streams) 탭에서 **트리거 생성(Create trigger)**을 선택합니다. 그런 다음 이전 단계에서 생성한 Lambda 함수를 선택합니다. 트리거가 생성된 후 트리거가 활성화되도록 **트리거 활성화(Enable trigger)**를 선택해야 합니다.
이제 Lambda 함수가 전역 테이블 복제본의 트리거로 구성됩니다. 복제본에 대한 모든 변경 사항은 스트림에 의해 캡처되고 트리거가 호출됩니다.
관련 정보
DynamoDB Streams 및 AWS Lambda 트리거