Lambda 함수 간접 호출 방법 이해 - AWS Lambda

Lambda 함수 간접 호출 방법 이해

Lambda 함수를 배포한 후에는 여러 가지 방법으로 함수를 간접적으로 호출할 수 있습니다.

  • Lambda 콘솔 - Lambda 콘솔을 사용하여 함수를 간접적으로 호출하는 테스트 이벤트를 빠르게 생성합니다.

  • AWS SDK - AWS SDK를 사용하여 프로그래밍 방식으로 함수를 간접적으로 호출합니다.

  • 호출 API - Lambda 호출 API를 사용하여 함수를 직접 호출할 수 있습니다.

  • AWS Command Line Interface(AWS CLI)aws lambda invoke AWS CLI 명령을 사용하여 명령줄에서 직접 함수를 간접적으로 호출합니다.

  • 함수 URL HTTP(S) 엔드포인트 - 함수 URL을 사용하여 함수를 간접적으로 호출하는 데 사용할 수 있는 전용 HTTP(S) 엔드포인트를 생성합니다.

이러한 모든 메서드는 함수를 직접 호출하는 방법입니다. Lambda에서 일반적인 사용 사례는 애플리케이션의 다른 곳에서 발생하는 이벤트를 기반으로 함수를 간접적으로 호출하는 것입니다. 일부 서비스는 새로운 이벤트가 발생할 때마다 Lambda 함수를 간접적으로 호출할 수 있습니다. 이를 트리거라고 합니다. 스트림 및 대기열 기반 서비스의 경우 Lambda는 레코드 배치와 함께 함수를 간접적으로 호출합니다. 이를 이벤트 소스 매핑이라고 합니다.

함수를 호출할 때 동기식으로 호출할 것인지 비동기식으로 호출할 것인지 선택할 수 있습니다. 동기식 호출의 경우 함수가 이벤트를 처리하여 응답을 반환하기를 기다립니다. 비동기식 호출의 경우, Lambda는 처리를 위해 이벤트를 대기열에 저장하고 즉시 응답을 반환합니다. 호출 API의 InvocationType 요청 파라미터에 따라 Lambda가 함수를 간접적으로 호출하는 방식이 결정됩니다. RequestResponse 값은 동기식 호출을 나타내고 Event 값은 비동기 호출을 나타냅니다.

함수 간접 호출에서 오류가 발생하는 경우 동기식 호출의 경우에는 응답에서 오류 메시지를 확인하고 간접 호출을 수동으로 다시 시도합니다. 비동기 호출의 경우 Lambda는 재시도를 자동으로 처리하고 간접 호출 레코드를 대상에 보낼 수 있습니다.