Streams
- DynamoDB 테이블에서 일어나는 일들(삽입, 수정, 삭제 등)이 일어날 시 시간적 순서에 맞게 Streams에 기록
- Log는 즉각 암호화가 일어나며 24시간동안 보관됨
- 주로 이벤트를 기록하고 이벤트 발생을 외부로 알리는 용도 (예시 : Lambda Function)
- 이벤트 전&후에 대한 상황 보관
간단한 아키텍쳐
- DynamoDB API -> DynamoDB Endpoint (테이블에 데이터를 넣거나 삭제, 하나의 고유한 엔드포인트와 연결되어 있음)
- DynamoDB Streams API -> DynamoDB Stream Endpoint 와 연결되어 짐
이벤트 발생시 아키텍쳐
- ex. 온라인 쇼핑몰 운영
- 어떤 고객이 아이템을 구매하면, invoice 생성 -> DynamoDB 테이블에 저장
- 이벤트를 DynamoDB Streams이 인식하고 -> Lambda 함수 발동 -> SNS로 메시지 전달
- SNS는 메시지를 만들어 -> SQS로 보냄 -> 구매자 결제창(SNS에서 가져옴)
- 키만보기 - 어떤 데이터가 삽입하거나 변경될시 그 데이터의 pk만 보여 달라
- 새 이미지 - 이벤트가 발생하고 후에 무엇이 변경되었는지
- 이전 이미지 - 이벤트 발생 전
- 새이미지와 이전 이미지 - 발생 전, 후 둘다
- arn을 이용하여 람다함수를 만들어서 arn 연결하면 된다.
https://www.inflearn.com/course/aws-%EC%9E%85%EB%AC%B8/dashboard