イベントによるトリガー

指定したイベントまたは一連のイベントの通知を Cloud Run サービスが受信するように、Eventarc トリガーを作成できます。トリガーにフィルタを指定することで、イベントソースとターゲット Cloud Run サービスを含むイベントのルーティングを構成できます。

Cloud Run サービスに送信されたイベントは、HTTP リクエストの形式で受信されます。

サービスに対するリクエストをトリガーするイベントの種類は次のとおりです。

このページでは、Cloud Run コンソール ページでトリガーを作成する方法について説明します。

Google Cloud CLI または Eventarc コンソール ページで Eventarc トリガーを作成することもできます。手順に沿って、特定のプロバイダ、イベントタイプ、宛先のトリガーを作成します

トリガーを作成する準備

トリガーを作成する前に、次の前提条件を満たす必要があります。

  1. すべての Eventarc トリガーは、トリガーの作成時に Identity and Access Management(IAM)サービス アカウントに関連付けられます。トリガーがデフォルトの ID として使用するユーザー管理のサービス アカウントを指定できます。トリガーのサービス アカウントに必要なロールと権限が付与されていることを確認してください。

    たとえば、認証を必要とする Cloud Run サービスにイベントを送信するには、Eventarc トリガーのサービス アカウントに Cloud Run 起動元 IAM ロールが必要です。

  2. Cloud Storage からの直接イベントのトリガーを作成する場合は、Cloud Storage サービス アカウントに pubsub.publisher ロールを付与します。

    SERVICE_ACCOUNT="$(gsutil kms serviceaccount -p PROJECT_ID)"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:${SERVICE_ACCOUNT}" \
        --role='roles/pubsub.publisher'
    

    PROJECT_ID は、Google Cloud プロジェクト ID に置き換えます。プロジェクト ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。

コンソールを使用してトリガーを作成する

コンソールの [Cloud Run] ページで、Eventarc トリガーを作成できます。

  1. 必要に応じて、Eventarc API を有効にします。

    API を有効にする

  2. Google Cloud コンソールで、[Cloud Run] に移動します。

    Cloud Run に移動します

  3. サービスのリストで既存のサービスをクリックするか、新しいサービスを作成します。

  4. サービスの詳細ページで、[トリガー] タブをクリックします。

  5. [Eventarc トリガーを追加] をクリックします。

    [Eventarc トリガー] ペインが開きます。イベントの最適なルーティング方法を決定するには、イベント ルーティング オプションをご覧ください。

  6. 特定のプロバイダ、イベントタイプ、 の宛先のトリガーを作成するの手順に沿って操作し、「トリガーを作成する」セクションにあるコンソールの手順を参照してください。

  7. Cloud Run サービスを呼び出すサービス アカウントを選択します。

    または新しいサービス アカウントを作成します。

    これにより、トリガーに関連付けられた IAM サービス アカウントのメールアドレスが指定されます。Cloud Run の宛先の場合、サービスを呼び出すときにこのサービス アカウントを使用して ID トークンを生成します。

  8. 受信リクエストの送信先であるサービスの URL パスを指定することもできます。

    これは、トリガーのイベントが送信される宛先サービスの相対パスです。例: //routerouteroute/subroute

  9. トリガーの作成後、[トリガー] タブにチェックマーク が付いていることを確認します。

次のステップ