指定したイベントまたは一連のイベントの通知を Cloud Run サービスが受信するように、Eventarc トリガーを作成できます。トリガーにフィルタを指定することで、イベントソースとターゲット Cloud Run サービスを含むイベントのルーティングを構成できます。
Cloud Run サービスに送信されたイベントは、HTTP リクエストの形式で受信されます。
サービスに対するリクエストをトリガーするイベントの種類は次のとおりです。
- トリガーのフィルタ条件に一致する監査ログが作成されたとき
- 直接イベント(Cloud Storage バケットの更新など)
- Pub/Sub トピックに公開されるメッセージ
このページでは、Cloud Run コンソール ページでトリガーを作成する方法について説明します。
Google Cloud CLI または Eventarc コンソール ページで Eventarc トリガーを作成することもできます。手順に沿って、特定のプロバイダ、イベントタイプ、宛先のトリガーを作成します。
トリガーを作成する準備
トリガーを作成する前に、次の前提条件を満たす必要があります。
Eventarc は、トリガーの ID としてユーザーから提供されたサービス アカウントを使用します。トリガーのサービス アカウントに必要なロールと権限が付与されていることを確認してください。
たとえば、認証を必要とする Cloud Run サービスにイベントを送信するには、Eventarc トリガーのサービス アカウントに Cloud Run 起動元 Identity and Access Management(IAM)ロールが必要です。
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 トリガーを作成できます。
必要に応じて、Eventarc API を有効にします。
Google Cloud コンソールで、[Cloud Run] に移動します。
サービスのリストで既存のサービスをクリックするか、新しいサービスを作成します。
サービスの詳細ページで、[トリガー] タブをクリックします。
[
Eventarc トリガーを追加] をクリックします。[Eventarc トリガー] ペインが開きます。イベント ルーティングの最適な方法を決定するには、イベント ルーティング オプションをご覧ください。
特定のプロバイダ、イベントタイプ、Cloud Run の宛先のトリガーを作成するの手順に沿って操作し、「トリガーの作成」セクションにあるコンソールの手順を参照してください。
Cloud Run サービスを呼び出すサービス アカウントを選択します。
または新しいサービス アカウントを作成します。
これにより、トリガーに関連付けられた IAM サービス アカウントのメールアドレスが指定されます。Cloud Run の宛先の場合、サービスを呼び出すときにこのサービス アカウントを使用して ID トークンを生成します。
受信リクエストの送信先であるサービスの URL パスを指定することもできます。
これは、トリガーのイベントが送信される宛先サービスの相対パスです。例:
/
、/route
、route
、route/subroute
トリガーの作成後、[トリガー] タブにチェックマーク check_circle が付いていることを確認します。