[AWS] Lambda: 이벤트 필터링
이벤트 필터링은 Lambda에 트리거를 걸어서 호출할때 특정 이벤트로 들어온 값을 걸러버릴 수 있는 유용한 기능 중 하나다.
불필요한 Lambda 호출을 없애서 리소스 점유나 비용을 효율화할 수 있다.
현재는 SQS, Kinesis Data Stream, Amazon MQ, MSK 정도에서 사용할 수 있다.
대표적인 사용례 중 하나는 Dynamo Stream으로 들어오는 이벤트 값을 걸러내는 것이다.
https://blog.naver.com/sssang97/223387796830
예를 들면, 데이터를 Insert할때만 Lambda에 이벤트를 전송하고 싶을 수 있을 것이다.
하지만 기존에는 Stream을 걸면 모든 변경 이벤트가 다 날라갔다.

INSERT든 REMOVE든 다 찍히는걸 볼 수 있다.
이걸 개선하려면, Lambda 트리거 설정 페이지에 들어가서


{"eventName": ["INSERT"]}
이런 식으로 필터링 기준을 걸어주면 된다.
이러면 INSERT 이벤트만 날라갈 것이다.
그럼 이제 삭제하거나 수정해도 이벤트가 날라가지 않고
INSERT만 트리거된다.
참조
https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax
https://stackoverflow.com/questions/41112362/configure-dynamodb-stream-trigger-with-insert-only#comment121172837_56123787