特定の Eventarc Advanced バスに対して、Google ソースからのイベントの収集と公開を有効または無効にできます。
Google ソースのイベントは、Cloud Run 関数の作成や Dataflow ジョブのステータスの変更など、仲介なしのイベントによって直接トリガーされます。詳細については、Eventarc でサポートされている Google イベントタイプをご覧ください。
次の点にご注意ください。
- Google Cloud プロジェクトごとに 1 つの
GoogleApiSource
リソースの上限があります。 - Google ソースからのイベントをパブリッシュできるのは、
GoogleApiSource
リソースと同じ Google Cloud プロジェクトでのみです。 GoogleApiSource
リソースが存在するプロジェクトとは異なる Google Cloud プロジェクトにあるバスにイベントをパブリッシュできます。これは、gcloud CLI を使用するか、Eventarc API にリクエストを送信して構成できます。
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 が所有、管理する 鍵が使用されます。--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 ソースイベントをprojects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
形式でパブリッシュする Eventarc Advanced バスの完全修飾識別子。詳細については、メッセージを転送するバスを作成するをご覧ください。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] > [バスの詳細] ページに移動します。
[
編集] をクリックします。[Edit bus] ページで、Google API メッセージ プロバイダを削除するには、google-api-source メッセージ ソース(または指定した名前)の
[Delete resource] をクリックします。[リソースを削除] プロンプトで [確認] をクリックします。
[保存] をクリックします。
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 ソースのイベントは、収集されず、公開されなくなります。