Pub/Sub 트리거

Cloud Functions에서 Pub/Sub 트리거는 Pub/Sub 메시지에 대한 응답으로 함수를 호출할 수 있습니다. 함수에 대해 Pub/Sub 트리거를 지정할 때는 Pub/Sub 주제도 지정합니다. 함수는 메시지가 지정된 주제에 게시될 때마다 호출됩니다.

함수가 Pub/Sub 트리거를 사용할 수 있으려면 이벤트 기반 함수로 구현되어야 합니다.

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세대):

    1. 트리거 유형 필드에서 Cloud Pub/Sub를 선택합니다.
    2. Cloud Pub/Sub 주제 필드에서 트리거로 모니터링할 주제를 선택합니다. 이 주제에 게시된 메시지가 함수 호출을 트리거합니다.
    3. 실패 시 재시도 체크박스를 선택하거나 선택 해제하여 Cloud Functions가 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.
    4. 옵션 더보기를 클릭하여 트리거에서 추가 구성을 수행합니다.

      • 트리거 유형 필드에서 Google 소스, 커스텀 또는 타사 중 하나를 지정합니다.

        • Google 소스를 사용하면 Pub/Sub, Cloud Storage, Firestore, 기타 Google 이벤트 제공업체의 트리거를 지정할 수 있습니다. Eventarc 트리거 창에서 이벤트 제공자 필드를 사용하여 함수를 트리거할 이벤트 유형을 제공하는 제품을 선택하세요. 그런 다음 이벤트 필드에서 트리거로 사용할 이벤트를 선택합니다.

        • 커스텀 옵션을 사용하면 애플리케이션 코드에서 이벤트를 생성하고 사용할 수 있습니다. Eventarc 트리거 창의 안내를 따라 채널을 만듭니다. 채널은 제작자로부터 소비자에게 맞춤 이벤트를 전달하기 위해 파이프라인으로 사용되는 리소스입니다. 맞춤 이벤트가 채널에 게시되고 Eventarc 트리거가 이러한 이벤트를 구독합니다.

        • 서드 파티 옵션을 사용하면 Eventarc 소스를 제공하는 Google 이외의 제공업체와 통합할 수 있습니다. 자세한 내용은 Eventarc의 서드 파티 이벤트를 참조하세요.

      • 이벤트 필드에서 트리거 이벤트를 선택합니다. 기본값은 google.cloud.pubsub.topic.v1.messagePublished입니다.

      • 선택적으로 서비스 계정 필드에서 Eventarc 트리거의 ID로 사용할 서비스 계정을 선택합니다. 자세한 내용은 트리거 ID를 참조하세요.

    5. 트리거 저장을 클릭합니다.

  • Cloud Functions(1세대):

    1. 트리거 유형 필드에서 Cloud Pub/Sub를 선택합니다.
    2. Cloud Pub/Sub 주제 선택 필드에서 트리거로 모니터링할 주제를 선택하거나 주제 만들기를 선택하여 새 주제를 만드는 창을 엽니다. 메시지가 함수 주제에 게시되면 함수 호출이 트리거됩니다.
    3. 실패 시 재시도 체크박스를 선택하거나 선택 취소하여 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.

다음 단계