Pub/Sub 트리거
Cloud Functions에서 Pub/Sub 트리거는 Pub/Sub 메시지에 대한 응답으로 함수를 호출할 수 있습니다. 함수에 대해 Pub/Sub 트리거를 지정할 때는 Pub/Sub 주제도 지정합니다. 함수는 메시지가 지정된 주제에 게시될 때마다 호출됩니다.
함수가 Pub/Sub 트리거를 사용할 수 있으려면 이벤트 기반 함수로 구현되어야 합니다.
CloudEvent 함수를 사용하는 경우 Pub/Sub 이벤트 데이터가 CloudEvents 형식의 함수에 전달되고 CloudEvent 데이터 페이로드는
MessagePublishedData
유형입니다.백그라운드 함수를 사용하는 경우 Pub/Sub 이벤트 데이터 페이로드가
PubsubMessage
형식의 함수에 직접 전달됩니다.
Google 이벤트 저장소에는 이벤트 데이터 작업을 위한 추가 리소스가 포함되어 있습니다.
배포
함수를 배포할 때 Pub/Sub 트리거를 지정할 수 있습니다. 함수 배포 방법에 대한 일반 안내는 Cloud 함수 배포를 참조하고 배포 중 Pub/Sub 트리거 구성에 대한 추가 정보는 이 섹션을 참조하세요.
gcloud
gcloud CLI를 사용하여 배포하는 경우에는 여기에 표시된 플래그를 사용하여 Pub/Sub 트리거를 구성합니다.
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
--trigger-topic
플래그는 트리거가 모니터링하는 Pub/Sub 주제를 지정합니다. 이 주제에 게시된 메시지가 함수 호출을 트리거합니다.--retry
플래그는 실패한 함수 호출이 자동으로 재시도되는지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
기존 Pub/Sub 이벤트
Cloud Functions(1세대)의 기존 함수는 Pub/Sub 트리거에 대해 다른 이벤트 유형을 사용합니다.
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
이 이벤트 유형은 이미 이러한 이벤트를 사용 중인 기존 함수에 대해 지원됩니다. 하지만 기존 이벤트 유형은 향후에 삭제 될 수 있으므로 대신 --trigger-topic
플래그를 사용하는 것이 좋습니다.
콘솔
Google Cloud 콘솔을 사용하여 배포하는 경우 트리거 섹션에서 Pub/Sub 트리거를 구성할 수 있습니다.
Cloud Functions(2세대):
- 트리거 유형 필드에서 Cloud Pub/Sub를 선택합니다.
- Cloud Pub/Sub 주제 필드에서 트리거로 모니터링할 주제를 선택합니다. 이 주제에 게시된 메시지가 함수 호출을 트리거합니다.
- 실패 시 재시도 체크박스를 선택하거나 선택 해제하여 Cloud Functions가 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
옵션 더보기를 클릭하여 트리거에서 추가 구성을 수행합니다.
트리거 유형 필드에서 Google 소스, 커스텀 또는 타사 중 하나를 지정합니다.
Google 소스를 사용하면 Pub/Sub, Cloud Storage, Firestore, 기타 Google 이벤트 제공업체의 트리거를 지정할 수 있습니다. Eventarc 트리거 창에서 이벤트 제공자 필드를 사용하여 함수를 트리거할 이벤트 유형을 제공하는 제품을 선택하세요. 그런 다음 이벤트 필드에서 트리거로 사용할 이벤트를 선택합니다.
커스텀 옵션을 사용하면 애플리케이션 코드에서 이벤트를 생성하고 사용할 수 있습니다. Eventarc 트리거 창의 안내를 따라 채널을 만듭니다. 채널은 제작자로부터 소비자에게 맞춤 이벤트를 전달하기 위해 파이프라인으로 사용되는 리소스입니다. 맞춤 이벤트가 채널에 게시되고 Eventarc 트리거가 이러한 이벤트를 구독합니다.
서드 파티 옵션을 사용하면 Eventarc 소스를 제공하는 Google 이외의 제공업체와 통합할 수 있습니다. 자세한 내용은 Eventarc의 서드 파티 이벤트를 참조하세요.
이벤트 필드에서 트리거 이벤트를 선택합니다. 기본값은
google.cloud.pubsub.topic.v1.messagePublished
입니다.선택적으로 서비스 계정 필드에서 Eventarc 트리거의 ID로 사용할 서비스 계정을 선택합니다. 자세한 내용은 트리거 ID를 참조하세요.
트리거 저장을 클릭합니다.
Cloud Functions(1세대):
- 트리거 유형 필드에서 Cloud Pub/Sub를 선택합니다.
- Cloud Pub/Sub 주제 선택 필드에서 트리거로 모니터링할 주제를 선택하거나 주제 만들기를 선택하여 새 주제를 만드는 창을 엽니다. 메시지가 함수 주제에 게시되면 함수 호출이 트리거됩니다.
- 실패 시 재시도 체크박스를 선택하거나 선택 취소하여 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
다음 단계
- 이벤트 기반 함수 작성 방법 알아보기
- Cloud 함수 배포 방법 알아보기
- Pub/Sub 트리거로 함수 작성, 배포, 호출 예시는 Pub/Sub 함수 튜토리얼을 참조하세요.