일부 AWS 서비스에서는 트리거를 사용하여 바로 Lambda 함수를 간접 호출할 수 있습니다. 이러한 서비스는 Lambda로 이벤트를 푸시하고, 지정된 이벤트가 발생하면 함수가 즉시 간접적으로 간접 호출됩니다. 트리거는 개별 이벤트와 실시간 처리에 적합합니다. Lambda 콘솔을 사용하여 트리거를 생성하면 콘솔은 해당 AWS 서비스와 상호 작용하여 서비스에 대한 이벤트 알림을 구성합니다. 트리거는 실제로 Lambda가 아니라 이벤트를 생성하는 서비스에 의해 저장되고 관리됩니다.
이벤트는 JSON 형식으로 구조화된 데이터입니다. JSON 구조는 JSON 구조를 생성하는 서비스와 이벤트 유형에 따라 다르지만, 모두 함수가 이벤트를 처리하는 데 필요한 데이터를 포함합니다.
함수에는 여러 개의 트리거가 있을 수 있습니다. 각 트리거는 함수를 독립적으로 호출하는 클라이언트 역할을 하며 Lambda가 함수에 전달하는 각 이벤트에는 단일 트리거의 데이터만 있습니다. Lambda는 이벤트 문서를 객체로 변환한 후 함수 핸들러에 전달합니다.
서비스에 따라 이벤트 기반 간접 호출은 동기식 또는 비동기식으로 수행될 수 있습니다.
-
동기식 호출의 경우 이벤트를 생성하는 서비스는 함수로부터 응답을 기다립니다. 이 서비스는 함수가 응답에 반환되어야 하는 데이터를 정의합니다. 이 서비스는 오류에 대해 재시도할지 여부와 같은 오류 전략을 제어합니다.
-
비동기 호출의 경우 Lambda는 이벤트를 함수에 전달하기 전에 대기열에 추가합니다. Lambda가 이벤트를 대기열에 넣으면 이벤트를 생성한 서비스에 즉시 성공 응답을 보냅니다. 함수가 이벤트를 처리한 후 Lambda는 이벤트 생성 서비스에 대한 응답을 반환하지 않습니다.
트리거 생성
트리거를 생성하는 가장 쉬운 방법은 Lambda 콘솔을 사용하는 것입니다. 콘솔을 사용하여 트리거를 생성하면 Lambda는 함수의 리소스 기반 정책에 필요한 권한을 자동으로 추가합니다.
Lambda 콘솔을 사용하여 트리거를 생성하려면
-
Lambda 콘솔의 함수 페이지
를 엽니다. -
트리거를 생성할 함수를 선택합니다.
-
함수 개요 창에서 트리거 추가를 선택합니다.
-
함수를 간접 호출하려는 AWS 서비스를 선택합니다.
-
트리거 구성 창의 옵션을 입력하고 추가를 선택합니다. 함수를 간접적으로 간접 호출하기 위해 선택한 AWS 서비스에 따라 트리거 구성 옵션이 달라집니다.
Lambda 함수를 간접적으로 간접 호출할 수 있는 서비스
다음 표에는 Lambda 함수를 간접적으로 간접 호출할 수 있는 서비스가 나와 있습니다.
Service | 호출 메서드 |
---|---|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
특수 통합 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기 호출(이벤트 버스), 동기 또는 비동기 호출(파이프 및 스케줄) |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 비동기식 호출 |
|
이벤트 기반, 동기식 호출 |
|
특수 통합 |
|
이벤트 기반, 동기식 또는 비동기 호출 |
|
이벤트 기반, 동기식 호출 |
|
특수 통합 |