본문으로 바로가기

DynamoDB

category AWS 2020. 8. 11. 01:34

DynamoDB의 스트림은 아마존 DynamoDB의 테이블에있는 항목의 변경 사항에 대한 정보의 순서 흐름입니다. 테이블에서 스트림을 활성화하면 DynamoDB는 테이블의 데이터 항목에 대한 모든 수정 사항에 대한 정보를 캡처합니다.

애플리케이션이 테이블의 항목을 생성, 업데이트 또는 삭제할 때마다 DynamoDB Streams는 수정 된 항목의 기본 키 속성을 사용하여 스트림 레코드를 작성합니다. 스트림 기록은 DynamoDB의 테이블에서 하나의 항목에 대한 데이터 수정에 대한 정보가 포함되어 있습니다. 스트림 레코드가 수정 된 항목의 "이전"및 "이후"이미지와 같은 추가 정보를 캡처하도록 스트림을 구성 할 수 있습니다.

Amazon DynamoDB는 AWS Lambda와 통합되어 있으므로 DynamoDB 스트림의 이벤트에 자동으로 응답하는 코드 조각 인 트리거 를 생성 할 수 있습니다 . 트리거를 사용하면 DynamoDB 테이블의 데이터 수정에 반응하는 애플리케이션을 구축 할 수 있습니다.

테이블에서 DynamoDB 스트림을 활성화하면 스트림 ARN을 작성한 Lambda 함수와 연결할 수 있습니다. 테이블의 항목이 수정 된 직후 테이블의 스트림에 새 레코드가 나타납니다. AWS Lambda는 스트림을 폴링하고 새 스트림 레코드를 감지하면 Lambda 함수를 동기식으로 호출합니다. Lambda 함수는 알림 전송 또는 워크 플로 시작과 같이 지정한 모든 작업을 수행 할 수 있습니다.

따라서이 시나리오에서 정답은 DynamoDB 스트림 활성화 및 AWS Lambda 트리거 생성과 Lambda 함수가 런타임에 필요한 모든 권한을 포함하는 IAM 역할을 생성하는 옵션입니다 . 스트림 레코드의 데이터는 Lambda 함수에 의해 처리되고 SNS 주제에 메시지를 게시하여 이메일을 통해 구독자에게 알립니다 .

 

 

옵션 : Kinesis Client Library (KCL)를 사용하여 DynamoDB Streams 엔드 포인트에서 데이터를 가져올 DynamoDB Streams Kinesis 어댑터를 활용하는 애플리케이션을 작성합니다. 특정 사용자가 업데이트 한 경우 SNS를 사용하여 이메일을 통해 구독자에게 알립니다. 이는 유효한 솔루션이지만 DynamoDB 스트림을 활성화하는 중요한 단계가 없기 때문입니다. DynamoDB Streams Kinesis 어댑터를 설치하면 DynamoDB Streams 엔드 포인트에서 원활하게 전달되는 API 호출을 통해 KCL 인터페이스를 통해 애플리케이션 개발을 시작할 수 있습니다. DynamoDB 스트림 기능은 기본적으로 활성화되어 있지 않습니다.

옵션 : DynamoDB Streams 엔드 포인트에서 데이터를 가져 오는 DynamoDB Streams Kinesis Adapter를 사용하는 Lambda 함수를 생성합니다. 위와 같이 엔드 포인트를 사용하려면 먼저 DynamoDB 스트림을 수동으로 활성화해야하므로 특정 사용자 가 업데이트 한 내용 이 잘못된 경우 이메일을 통해 구독자에게 알리는 SNS 주제를 설정합니다.

옵션 : 소스 DynamoDB 테이블에 액세스하도록 DAX 클러스터를 설정합니다. 새 DynamoDB 트리거와 Lambda 함수를 생성합니다. 사용자 데이터의 모든 업데이트에 대해 트리거는 데이터를 Lambda 함수로 전송 한 다음 DynamoDB Accelerator (DAX) 기능이 주로 인 메모리 읽기 성능을 크게 향상시키는 데 사용되기 때문에 SNS를 사용하여 이메일을 통해 구독자에게 알립니다. 항목 수준 수정의 시간 순서를 캡처하지 않습니다. 이 시나리오에서는 대신 DynamoDB 스트림을 사용해야합니다.

 


댓글을 달아 주세요

대마도사 블로그
블로그 이미지 대마도사 님의 블로그
MENU
VISITOR 오늘0 / 전체18,277