Lambda 함수 호출 방법 이해
Lambda 함수 호출 방법 이해 (Understanding Lambda function invocation methods)
Lambda 함수를 배포한 후 여러 가지 방법으로 호출할 수 있어요.
본문
- Lambda 콘솔 – Lambda 콘솔을 사용해 함수를 호출할 테스트 이벤트를 빠르게 만들어요.
- AWS SDK – AWS SDK를 사용해 프로그래밍 방식으로 함수를 호출해요.
- Invoke API – Lambda Invoke API를 사용해 함수를 직접 호출해요.
- AWS Command Line Interface(AWS CLI) –
aws lambda invokeAWS CLI 명령을 사용해 명령줄에서 함수를 직접 호출해요. - 함수 URL HTTP(S) 엔드포인트 – 함수 URL을 사용해 함수를 호출하는 데 사용할 수 있는 전용 HTTP(S) 엔드포인트를 만들어요.
이 모든 방법은 함수를 호출하는 직접적인 방식이에요. Lambda에서 일반적인 사용 사례는 애플리케이션의 다른 곳에서 발생하는 이벤트를 기반으로 함수를 호출하는 것이에요. 일부 서비스는 각 새 이벤트마다 Lambda 함수를 호출할 수 있어요.
이것을 트리거라고 해요. 스트림 및 큐 기반 서비스의 경우 Lambda는 레코드 배치로 함수를 호출해요. 이것을 이벤트 소스 매핑이라고 해요.
함수를 호출할 때 동기식 또는 비동기식으로 호출을 선택할 수 있어요. 동기식 호출에서는 함수가 이벤트를 처리하고 응답을 반환할 때까지 기다려요. 비동기식 호출에서는 Lambda가 처리를 위해 이벤트를 큐에 넣고 즉시 응답을 반환해요. Invoke API의 InvocationType 요청 매개 변수가 Lambda가 함수를 호출하는 방식을 결정해요. RequestResponse 값은 동기식 호출을, Event 값은 비동기식 호출을 나타내요.
IPv6로 함수를 호출하려면 Lambda의 공용 듀얼 스택 엔드포인트를 사용해요. 듀얼 스택 엔드포인트는 IPv4와 IPv6를 모두 지원해요. Lambda 듀얼 스택 엔드포인트는 다음 구문을 사용해요.
protocol://lambda.us-east-1.api.aws
또한 Lambda 함수 URL을 사용해 IPv6로 함수를 호출할 수 있어요. 함수 URL 엔드포인트는 다음 형식을 가져요.
https://url-id.lambda-url.us-east-1.on.aws
함수 호출이 오류로 끝나면 동기식 호출의 경우 응답에서 오류 메시지를 확인하고 호출을 수동으로 재시도해요. 비동기식 호출의 경우 Lambda가 재시도를 자동으로 처리하고 호출 레코드를 대상(destination)으로 보낼 수 있어요.