DynamoDB Streams 및 AWS Lambda 트리거 - Amazon DynamoDB

DynamoDB Streams 및 AWS Lambda 트리거

Amazon DynamoDB는 DynamoDB Streams의 이벤트에 자동으로 응답하는 코드 조각인 트리거를 만들 수 있도록 AWS Lambda와 통합되어 있습니다. 트리거를 사용하면 DynamoDB 테이블의 데이터 수정에 응답하는 애플리케이션을 빌드할 수 있습니다.

테이블에서 DynamoDB Streams를 활성화할 경우 스트림 Amazon 리소스 이름(ARN)을 사용자가 작성하는 AWS Lambda 함수에 연결할 수 있습니다. 테이블의 항목이 수정되는 즉시 새로운 레코드가 테이블의 스트림에 표시됩니다. AWS Lambda는 새로운 스트림 레코드가 감지될 때마다 스트림을 폴링하고 Lambda 함수를 동기식으로 호출합니다.

Lambda 함수는 알림 보내기, 워크플로 시작과 같이 사용자가 지정하는 작업을 실행할 수 있습니다. 예를 들어, 각 스트림 레코드를 Amazon Simple Storage Service(Amazon S3)와 같은 영구 스토리지에 간단하게 복사하는 Lambda 함수를 작성하여 테이블의 쓰기 작업에 대한 영구 감사 추적을 만들 수 있습니다. GameScores 테이블에 쓰는 모바일 게임 앱이 있다고 가정해 보겠습니다. GameScores 테이블의 TopScore 속성이 업데이트될 때마다 해당하는 스트림 레코드가 테이블 스트림에 기록됩니다. 그런 다음 이 이벤트는 소셜 미디어 네트워크에 축하 메시지를 게시하는 Lambda 함수를 트리거합니다. 이 함수는 GameScores에 업데이트되지 않거나 TopScore 속성을 수정하지 않는 스트림 레코드를 무시합니다.

함수가 오류를 반환하면 Lambda는 성공적으로 처리되거나 데이터가 만료될 때까지 배치(batch)를 재시도합니다. 또한 더 작은 배치로 재시도하고, 재시도 횟수를 제한하고, 너무 오래된 레코드를 폐기하고, 기타 옵션을 사용하도록 Lambda를 구성할 수 있습니다.

AWS Lambda에 대한 자세한 내용은 AWS Lambda개발자 안내서 단원을 참조하세요.