Eventarc 트리거

Cloud Functions(2세대)에서는 Eventarc 트리거가 Eventarc에서 지원되는 이벤트 유형으로 함수를 트리거하도록 허용합니다. 함수에 Eventarc 트리거를 지정할 때는 이벤트 필터를 제공합니다. 필터와 일치하는 함수가 발생할 때마다 함수가 호출됩니다.

Cloud Functions(2세대)의 모든 이벤트 기반 함수에는 Eventarc 트리거가 사용됩니다. 자세한 내용은 Eventarc 문서의 Eventarc 트리거를 참조하세요. 지원되는 이벤트 유형 목록은 Eventarc에서 지원되는 이벤트 유형을 참조하세요.

함수가 Eventarc 트리거를 사용할 수 있으려면 CloudEvent 함수로 구현되어야 합니다. 이벤트 데이터는 이벤트 유형에 해당하는 CloudEvent 데이터 페이로드와 함께 CloudEvents 형식의 함수로 전달됩니다. Google 이벤트 저장소에는 이벤트 데이터 작업을 위한 추가 리소스가 포함되어 있습니다.

트리거 위치

Eventarc 트리거는 특정 위치에 연결됩니다. 일반적으로 Eventarc 트리거의 위치는 이벤트에 대해 모니터링하려는 Google Cloud 리소스 위치와 일치해야 합니다. 대부분의 시나리오에서는 Cloud 함수도 동일한 리전에 배포해야 합니다. Eventarc 트리거 위치에 대한 자세한 내용은 Eventarc 위치 이해를 참조하세요.

트리거 ID

Eventarc 트리거는 함수를 호출할 때 ID로 사용할 서비스 계정에 연결됩니다. Eventarc 트리거의 서비스 계정은 함수 호출 권한이 있어야 합니다. 기본적으로 기본 compute 서비스 계정이 사용됩니다.

배포

함수를 배포할 때 Eventarc 트리거를 지정할 수 있습니다. 함수 배포 방법에 대한 일반 안내는 Cloud 함수 배포를 참조하세요. 이 섹션에서는 배포 중에 필터와 일치하는 이벤트가 발생하는 경우 함수를 호출하는 Eventarc 트리거 구성 방법을 설명합니다.

gcloud

gcloud CLI를 사용하여 배포하는 경우 아패 표시된 플래그가 Eventarc 트리거 구성을 위해 사용됩니다.

gcloud functions deploy YOUR_FUNCTION_NAME \
  --gen2 \
  --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \
  [--trigger-event-filters=EVENTARC_EVENT_FILTER] \
  [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \
  [--trigger-location=EVENTARC_TRIGGER_LOCATION] \
  [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \
  [--retry] \
...
  • --gen2 플래그는 Cloud Functions(2세대)에 배포하도록 지정합니다. Eventarc 트리거를 사용하려면 Cloud Functions(2세대)를 사용해야 합니다.
  • --trigger-event-filters 플래그는 트리거가 모니터링하는 이벤트 필터를 지정합니다. 모든 필터와 일치하는 이벤트가 함수 호출을 트리거합니다.

    • 필수: 각 트리거는 --event-filters="type=EVENTARC_FILTER_TYPE" 형식으로 지원되는 이벤트 유형이어야 합니다. 이 이벤트 유형은 생성 후 변경할 수 없습니다. EVENT_FILTER_TYPE을 변경하려면 새 트리거를 만들고 이전 트리거를 삭제합니다.
    • 선택사항: ATTRIBUTE=VALUE 형식으로 지원되는 필터와 --trigger-event-filters 플래그를 반복하여 더 많은 필터를 추가할 수 있습니다.
  • --trigger-event-filters-path-pattern 플래그는 트리거가 경로 패턴 형식으로 모니터링하는 이벤트 필터를 지정합니다. 각 필터는 ATTRIBUTE=VALUE 형식이어야 합니다. 자세한 내용은 경로 패턴 이해를 참조하세요.

  • --trigger-location 플래그는 Eventarc 트리거 위치를 지정합니다. 자세한 내용은 트리거 위치를 참조하세요. 지정하지 않으면 함수 리전이 트리거 위치로 사용됩니다.

  • --trigger-service-account 플래그는 Eventarc 트리거의 ID로 사용할 서비스 계정을 지정합니다. 자세한 내용은 트리거 ID를 참조하세요.

  • --retry 플래그는 실패한 함수 호출이 자동으로 재시도되는지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.

직접 Pub/Sub 또는 Cloud Storage 이벤트의 트리거를 만드는 경우 gcloud CLI 안내를 참조하여 Pub/SubCloud Storage 트리거를 각각 구성합니다.

Eventarc 문서에는 여러 유형의 이벤트에 대해 이벤트 필터를 지정하는 예시가 포함되어 있습니다. 자세한 내용은 특정 제공업체, 이벤트 유형, 대상에 대한 트리거를 만들 때 다음 안내를 따르세요.

콘솔

Google Cloud Console을 사용하여 배포하는 경우 2세대를 환경으로 선택해야 합니다. 그런 후 트리거 섹션에서 Eventarc 트리거를 구성할 수 있습니다.

  1. 이벤트 트리거를 추가하려면 트리거 추가를 클릭합니다. 그러면 다음 옵션이 표시됩니다.

    • Pub/Sub 트리거
    • Cloud Storage 트리거
    • Firestore 트리거
    • 기타 트리거

    이러한 옵션 중 하나를 선택하면 Eventarc 트리거 창이 열리고 트리거의 세부정보를 지정할 수 있습니다.

    직접 Pub/Sub 또는 Cloud Storage 이벤트의 트리거를 만드는 경우 Google Cloud 콘솔 안내를 참조하여 Pub/SubCloud Storage 트리거를 각각 구성합니다.

  2. 기타 트리거를 선택하면 Eventarc 트리거 창에서 트리거 유형 필드를 사용하여 Google 소스, 커스텀, 서드 파티 중 하나를 지정합니다.

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

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

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

  3. 리전 필드에서 해당하는 경우 Eventarc 트리거 위치를 선택합니다. 자세한 내용은 트리거 위치를 참조하세요.

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

  5. 실패 시 재시도 체크박스를 선택하거나 선택 취소하여 실패한 함수 호출을 자동으로 재시도할지 여부를 제어합니다. 자세한 내용은 이벤트 기반 함수 재시도를 참조하세요.

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

다음 단계