特定の Eventarc Advanced バスの Google ソースからのイベントの収集と公開を有効または無効にできます。
Google ソースからのイベントは、Cloud Run 関数の作成や Dataflow ジョブのステータス変更などの仲介なしのイベントによって直接トリガーされます。詳細については、Eventarc でサポートされている Google イベントタイプをご覧ください。
次の点にご注意ください。
- Google Cloud プロジェクトあたりの
GoogleApiSource
リソースの上限は 1 つです。 - Google ソースからイベントを公開できるのは、
GoogleApiSource
リソースと同じ Google Cloud プロジェクト内のみです。 GoogleApiSource
リソースが存在するプロジェクトとは異なる Google Cloud プロジェクトにあるバスにイベントをパブリッシュできます。これは、gcloud CLI を使用するか、Eventarc API にリクエストを送信して構成できます。
始める前に
まだ有効にしていない場合は、Eventarc API と Eventarc Publishing API を有効にします。
コンソール
gcloud
gcloud services enable eventarc.googleapis.com eventarcpublishing.googleapis.com
Google ソースからのイベントを有効にする
Google ソースからイベントを公開するには、GoogleApiSource
リソースを作成する必要があります。このリソースは、特定の Eventarc Advanced バスの特定の Google Cloud プロジェクトにおける Google API イベントのサブスクリプションを表します。
Google ソースからのイベントのパブリッシュは、次の方法で有効にできます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
Eventarc API にリクエストを送信する
コンソール
gcloud
ターミナルを開きます。
Google ソースからのイベントを有効にするには、
gcloud beta eventarc google-api-sources create
コマンドを使用します。gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
次のように置き換えます。
GOOGLE_API_SOURCE_NAME
: 特定のバスの Google API イベントのサブスクリプションを表すGoogleApiSource
リソースの ID または完全修飾識別子BUS_NAME
: Google API イベントのサブスクライブ対象となるバスの ID または完全修飾 IDBUS_PROJECT_ID
: バスの Google Cloud プロジェクト ID
省略可: 次のフラグも使用できます。
--async
: 処理中のオペレーションの完了を待たずに、コマンドからすぐに戻ります。--crypto-key
: 顧客管理の暗号鍵の完全修飾名を指定します。指定しない場合は、 Google-owned and managed keys が使用されます。--logging-config
: ロギングレベルを構成します。次のいずれかの値を指定する必要があります。NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。詳細については、LogSeverity
をご覧ください。
REST API
Google ソースからのイベントを有効にするには、projects.locations.googleApiSources.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
GOOGLE_API_SOURCE_NAME
: 特定のバスの Google API イベントのサブスクリプションを表すGoogleApiSource
リソースの表示名(my_google_source
など)。LABEL_KEY
、LABEL_VALUE
: 省略可。 Google Cloud リソースの整理に役立つラベルの Key-Value ペアのマップです。詳細については、ラベルとはをご覧ください。ANNOTATION_KEY
、ANNOTATION_VALUE
: 省略可。自由形式のテキストのアノテーション キーと値のペアのマップ。これらを使用して、リソースに関連付けられた任意の情報を付加できます。詳細については、アノテーションをご覧ください。DESTINATION
: Google ソースイベントの公開先となる Eventarc Advanced バスの完全修飾識別子。形式はprojects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
です。詳細については、メッセージをルーティングするバスを作成するをご覧ください。ENCRYPT_KEY
: 省略可。GoogleApiSource
リソースがprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
形式のデータ暗号化に使用する Cloud KMS 鍵。詳細については、顧客管理の暗号鍵の使用をご覧ください。PROJECT_ID
:GoogleApiSource
リソースを作成する Google Cloudプロジェクト ID。LOCATION
:GoogleApiSource
リソースを作成するサポートされているリージョン(us-central1
など)。LOG_SEVERITY
: 省略可。ログエントリに記述されているイベントの最小重大度。NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
のいずれか。デフォルトはNONE
です。詳細については、LogSeverity
をご覧ください。
リクエストの本文(JSON):
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された Operation
のインスタンスが含まれます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
GoogleApiSource
リソースと同じ Google Cloud プロジェクト内の Google ソースからのイベントが収集され、バスに公開されるようになりました。
Google ソースからのイベントを無効にする
特定のGoogle Cloud プロジェクトの Google ソースから Eventarc Advanced バスへのイベントのパブリッシュを無効にするには、GoogleApiSource
リソースを削除する必要があります。
Google ソースからのイベントのパブリッシュは、次の方法で無効にできます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
Eventarc API にリクエストを送信する
コンソール
Google Cloud コンソールで、[Eventarc] > [バスの詳細] ページに移動します。
[
編集] をクリックします。[バスの編集] ページで、Google API メッセージ プロバイダを削除するには、google-api-source メッセージ ソース(または指定した名前)の
[リソースの削除] をクリックします。[リソースの削除] プロンプトで、[確認] をクリックします。
[保存] をクリックします。
gcloud
ターミナルを開きます。
Google ソースからのイベントを無効にするには、
gcloud beta eventarc google-api-sources delete
コマンドを使用します。gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \ --location=REGION
次のように置き換えます。
GOOGLE_API_SOURCE_NAME
:GoogleApiSource
リソースの ID または完全修飾識別子REGION
:GoogleApiSource
リソースのロケーション
REST API
Google ソースからのイベントを無効にするには、projects.locations.googleApiSources.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
:GoogleApiSource
リソースが作成される Google Cloud プロジェクト ID。LOCATION
:GoogleApiSource
リソースが作成されるリージョン(例:us-central1
)。GOOGLE_API_SOURCE_NAME
: 削除するGoogleApiSource
リソースの名前。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された Operation
のインスタンスが含まれます。
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
削除された GoogleApiSource
リソースと同じ Google Cloud プロジェクト内の Google ソースからのイベントは収集されなくなり、公開されなくなります。