Skip to content

함수 호출


Lambda 콘솔, 함수 URL HTTP(S) 엔드포인트, Lambda API, AWS SDK, AWS Command Line Interface(AWS CLI), AWS도구 키트를 사용하여 Lambda 함수를 직접 호출할 수 있다. 또한 다른 AWS 서비스가 함수를 호출하도록 구성하거나 Lambda가 스트림 또는 대기열에서 읽기를 수행하고 함수를 호출하도록 구성할 수도 있다.

함수를 호출할 때 동기식으로 호출할 것인지 비동기식으로 호출할 것인지 선택할 수 있다. 동기식 호출의 경우 함수가 이벤트를 처리하여 응답을 반환하기를 기다린다. 비동기식 호출의 경우, Lambda는 처리를 위해 이벤트를 대기열에 저장하고 즉시 응답을 반환한다. 비동기식 호출의 경우 Lambda는 재시도를 처리하고, 호출 레코드를 대상에 보낼 수 있다.

함수를 사용하여 데이터를 자동으로 처리하려면 하나 이상의 트리거를 추가한다. 트리거는 수명 주기 이벤트, 외부 요청 또는 일정에 따라 함수를 호출하도록 구성되는 Lambda 리소스 또는 다른 서비스 리소스이다. 함수는 여러 개의 트리거를 가질 수 있다. 각 트리거는 함수를 독립적으로 호출하는 클라이언트 역할을 한다. Lambda가 함수에 전달하는 각 이벤트에는 하나의 클라이언트 또는 트리거의 데이터만 있다.

스트림 또는 대기열에서 항목을 처리하려면 이벤트 소스 매핑을 생성하면 된다. 이벤트 소스 매핑은 Amazon Simple Queue Service(Amazon SQS) 대기열, Amazon Kinesis 스트림 또는 Amazon DynamoDB 스트림에서 항목을 읽어 배치로 함수에 전달하는 Lambda 내 리소스이다. 함수가 처리하는 각 이벤트에는 수백 또는 수천 개의 항목이 포함될 수 있다.

다른 AWS 서비스 및 리소스는 해당 함수를 직접 호출한다. 예를 들어 Amazon EventBridge(CloudWatch Events)가 타이머에 따라 함수를 호출하도록 구성하거나 Amazon Simple Storage Service(Amazon S3)가 객체가 생성될 때 함수를 호출하도록 구성할 수 있다. 각 서비스는 함수 호출에 사용하는 메서드, 이벤트의 구조, 구성 방식이 다르다.

함수를 누가 호출하고 어떤 방식으로 호출하는지에 따라 조정 동작과 발생할 수 있는 오류 유형이 달라진다. 함수를 동기식으로 호출하는 경우 응답에서 오류를 수신하고 재시도할 수 있다. 비동기식으로 호출하거나, 이벤트 소스 매핑을 사용하거나, 다른 서비스가 함수를 호출하도록 구성할 때 재시도 요구 사항과 다수의 이벤트를 처리하도록 함수를 조정하는 방식이 달라질 수 있다.

주제


References