Cloud Run으로 함수를 만들고 배포한 후 트리거를 지정하여 다양한 시나리오에 대한 응답으로 실행되도록 함수를 설정할 수 있습니다.
이 페이지에서는 Cloud Run 함수에서 지원되는 트리거를 간략히 설명합니다.
트리거 유형
기본적으로 Cloud Run에 배포된 모든 함수는 HTTP 엔드포인트 (run.app
URL)가 있는 Cloud Run 소스 배포 서비스입니다.
함수가 호출되거나 트리거되는 방식은 코드를 작성할 때 지정하는 함수 유형에 따라 다릅니다.
- CloudEvent 트리거: Google Cloud 프로젝트 내의 이벤트에 반응하며 CloudEvents 함수(이벤트 기반 함수라고도 함)에 대응합니다. 이벤트 기반 아키텍처 빌드를 지원하는 CloudEvents 사양의 Google 구현인 Eventarc를 사용하여 지정된 이벤트에 대한 응답으로 함수를 트리거해야 합니다.
- HTTP 트리거: HTTP(S) 요청에 응답하고 HTTP 함수에 대응합니다. 다른Google Cloud 서비스 (Eventarc가 아님)를 이벤트 제공업체로 사용하여 HTTP(S) 요청을 통해 함수를 호출할 수 있습니다.
Google Cloud 프로젝트 내에서 이벤트에 반응하도록 함수를 트리거하려면 Google Cloud 콘솔에서 함수를 배포할 때 또는 gcloud CLI를 사용할 때 함수가 배포된 후에 트리거를 지정합니다.
동일한 함수를 한 번에 둘 이상의 트리거에 결합할 수는 없지만 동일한 트리거 설정으로 여러 함수를 배포하여 동일한 이벤트로 인해 여러 함수를 실행할 수 있습니다.
트리거 예시
다음은 Cloud Run 함수에서 지원하는 트리거의 예입니다.
CloudEvent 트리거:
- Eventarc에서 트리거된 Pub/Sub 이벤트
- Eventarc에 의해 트리거된 Cloud Storage 이벤트
- Eventarc에 의해 트리거되는 Firestore 이벤트
- 일반 Eventarc 트리거
- Cloud 감사 로그를 사용하는 90개 이상의 이벤트 소스를 포함하여 Eventarc에서 지원되는 모든 이벤트 유형 지원
HTTP 트리거:
- HTTP 요청으로 호출
- Workflows를 사용하여 워크플로의 일부로 서비스 호출
- Cloud Scheduler를 사용하여 일정에 따라 서비스 호출
- Cloud Tasks를 사용하여 비동기 작업 실행
- Pub/Sub 푸시 구독에서 서비스 트리거
- Pub/Sub 메시지는 HTTP 요청을 통해 함수로 직접 라우팅되거나 Eventarc에서 CloudEvent 트리거로 래핑될 수 있습니다.
모든 CloudEvents 함수는 이벤트 전송에 Eventarc를 사용합니다. Pub/Sub 트리거 및 Cloud Storage 트리거는 특정 유형의 Eventarc 트리거로 구현됩니다.
Pub/Sub 및 Webhook을 사용하는 추가 트리거
Pub/Sub 주제의 메시지로 Cloud Run 함수를 트리거할 수 있으므로, Pub/Sub을 이벤트 버스로 지원하는 다른 Google 서비스와 Cloud Run 함수를 통합할 수 있습니다. 또한 HTTP 트리거를 사용하면 HTTP 콜백 (웹후크)을 제공하는 모든 서비스와 통합할 수도 있습니다. 다음 섹션에서는 몇 가지 통합 예시를 설명합니다.
Cloud Logging
Cloud Logging은 로그를 Pub/Sub 주제로 라우팅할 수 있으며, 여기서 Cloud Run Functions에서 로그를 사용할 수 있습니다. 자세한 내용은 Cloud Logging 문서의 싱크 구성 및 관리를 참고하세요.
Cloud Scheduler
HTTP를 사용하여 작업을 트리거하는 Cloud Scheduler 작업을 만들어 HTTP 함수를 예약할 수 있습니다.
Google Cloud 프로젝트 내에서 이벤트에 대한 응답으로 함수를 직접 트리거해야 하는 경우(예: 메시지가 Pub/Sub 주제에 게시되는 경우) CloudEvent 함수를 예약할 수도 있습니다.
Cloud Tasks
Cloud Tasks HTTP 대상 태스크를 사용하면 모든 HTTP 엔드포인트에서 태스크 핸들러를 실행할 수 있으므로 HTTP 트리거가 있는 HTTP 함수를 태스크 핸들러로 사용할 수 있습니다. 태스크를 사용하여 함수 호출을 제한하거나 속도 제한할 수도 있습니다. 자세한 내용은 Cloud Tasks 문서의 HTTP 대상 태스크 만들기를 참고하세요.
Gmail
Gmail Push Notification API를 사용하여 Gmail 이벤트를 Pub/Sub 주제로 전송하여 Cloud Run과 함께 사용할 수 있습니다.