중복 람다 함수 호출을 처리하는 방법
이를 처리하는 방법에는 여러 가지가 있습니다. 나는 우리를 위해 노력하고 일한 두 가지 방법을 추가하고 있습니다.
module.exports.handler = (event, context, callback)
.context 객체의 속성 중 하나는 awsRequestId입니다. awsRequestId는 호출 요청을 식별하는 데 사용되며 호출마다 고유합니다. 함수 실행이 완료되기 전에 requestId를 데이터베이스에 저장할 수 있습니다. 다음 호출에서 requestId가 동일한지 여부를 확인하고 확인할 수 있습니다. requestId가 같으면 건너뛸 수 있습니다. 예를 들어 자동 증가 ID가 있는 SQL 테이블에 requestId를 저장합니다. 다음 호출에서는 ID가 가장 높은 테이블에서 requestId를 가져오고 현재 호출의 requestId와 동일한지 확인합니다.
그것을 처리하는 더 좋은 방법이 하나 더 있습니다. 그것도 다음에 추가하겠습니다. 나는 여전히 그것을 시도하고 테스트하고 있습니다.
업데이트: 핸들러 함수에 return을 추가하면 프로세스가 종료되고 람다 함수도 중지됩니다. 우리는 람다에서 비동기 작업을 수행하고 이를 처리하기 위해 약속을 사용합니다.
module.exports.handler = async (event) => {
const promise = new Promise((resolve, reject) => {
/*
do the async task here. if error use reject and if success then use the resolve
*/
});
return promise;
약속이 해결되거나 거부되면 노드 프로세스는 성공 또는 실패로 종료됩니다. 성공하면 중복 호출이 없습니다.
Reference
이 문제에 관하여(중복 람다 함수 호출을 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/amitiwary999/how-to-handle-duplicate-lambda-function-invocations-728텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)