登録は、特定のバスへのサブスクリプションを識別します。登録では、宛先にルーティングされるメッセージを決定する一致条件を定義します。また、一致したメッセージをルーティングするパイプラインも指定します。パイプラインを使用すると、ターゲット宛先を構成できます。また、一致したイベントを宛先に配信する前に変換するオプションも提供されます。
次の点にご注意ください。
- パイプラインと登録は同じ Google Cloud プロジェクトに存在する必要があります。(バスは同じプロジェクトに存在することも、別のプロジェクトに存在することもあります)。
- 1 つのパイプラインを複数の登録に使用できます。
- パイプラインによってルーティングされるメッセージのターゲットにできる宛先は 1 つだけです。
始める前に
パイプラインまたは登録を構成する前に、Eventarc Advanced バスを作成しておく必要があります。
必要なロール
Identity and Access Management(IAM)ロールには、 Google Cloud リソースに対して特定の操作を実行できるようにする一連の権限が含まれています。パイプラインと登録を作成してメッセージを転送するには、次のロールと権限が必要です。
- パイプラインを作成するために必要な権限を取得するには、パイプライン プロジェクトに対する Eventarc デベロッパー(
roles/eventarc.developer
)IAM ロールの付与を管理者に依頼してください。この事前定義ロールには、パイプラインの作成に必要なeventarc.pipelines.create
権限が含まれています。 - 登録を作成するために必要な権限を取得するには、登録プロジェクトに対する Eventarc デベロッパー(
roles/eventarc.developer
)IAM ロールを付与するよう管理者に依頼してください。この事前定義ロールには、登録の作成に必要なeventarc.enrollments.create
権限が含まれています。 - バスを使用するために必要な権限を取得するには、バス プロジェクトに対する Eventarc メッセージバス ユーザー(
roles/eventarc.messageBusUser
)IAM ロールの付与を管理者に依頼してください。この事前定義ロールには、バスの使用に必要なeventarc.buses.use
権限が含まれています。
ロールの付与の詳細については、アクセスの管理をご覧ください。カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
登録とパイプラインを作成する
パイプラインと登録は、次の方法で作成できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
- Eventarc API にリクエストを送信する
コンソール
Google Cloud コンソールでは、[パイプライン] ページからパイプラインと登録の両方を同時に作成できます。
登録を作成するには、 Google Cloud コンソールで、[Eventarc] > [パイプライン] ページに移動します。
[パイプラインを作成] をクリックします。
[パイプラインの詳細] ペインで、次の操作を行います。
- [パイプライン名] を入力します。これはパイプラインの ID です。
- [リージョン] リストで、パイプラインをデプロイするリージョンを選択します。パイプラインは、バスと同じリージョンに作成する必要があります。詳細については、Eventarc Advanced のロケーションをご覧ください。
- 省略可: [ログの重大度] リストで、ログエントリに記述されているイベントの最小重大度を選択します。デフォルトは None です。詳細については、
LogSeverity
をご覧ください。 - 省略可: [再試行ポリシー] セクションで、デフォルトの構成を変更してイベントを再試行できます。
- [暗号化] で、デフォルトの Google-managed encryption key を受け入れるか、[Cloud KMS 鍵] を選択します。詳細については、顧客管理の暗号鍵(CMEK)を使用するをご覧ください。
[Cloud KMS 鍵] を選択した場合は、次の操作を行います。
[鍵の種類] リストで、鍵を管理する方法を選択します。
鍵は手動で管理することも、Autokey を使用してオンデマンドでキーリングと鍵を生成することもできます。Autokey オプションが無効になっている場合、このオプションは現在のリソースタイプとまだ統合されていません。
[顧客管理の暗号鍵を選択] で、鍵を選択します。
顧客管理の暗号鍵を表示するには、リージョンを選択する必要があります。
(省略可)鍵のリソース名を手動で入力するには、[顧客管理の暗号鍵を選択] リストで [手動でキーを入力] をクリックして、指定された形式で鍵の名前を入力します。
プロンプトが表示されたら、Eventarc サービス エージェントに
cloudkms.cryptoKeyEncrypterDecrypter
ロールを付与します。
省略可: ラベルを追加するには、ラベルとはをご覧ください。
[ラベルを追加] をクリックします。ラベルは、Google Cloud リソースの整理に役立つ Key-Value ペアです。詳細については、[続行] をクリックします。
[登録] ペインで、次の操作を行います。
- [登録を追加] をクリックします。
- [登録名] を入力します。
- [バス] リストで、登録するバスを選択します。
[CEL 式] フィールドに、CEL を使用して評価式を記述します。次に例を示します。
message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"
デフォルトの式 true は、すべてのメッセージがフィルタリングされずに転送されることを示します。
[完了] をクリックします。
別の登録を追加するか、[続行] をクリックします。
省略可: [イベント メディエーション] ペインで、次の操作を行うか、[続行] をクリックします。
- [変換を適用する] チェックボックスをオンにします。
[インバウンド形式] リストで、該当する形式を選択します。
変換を適用する場合は、パイプラインのインバウンド データ形式を指定する必要があります。また、すべてのイベントがその形式と一致している必要があります。
Avro または Protobuf 形式の場合は、インバウンド スキーマを指定する必要があります。必要に応じて、受信スキーマをアップロードできます。詳細については、受信したイベントの形式を設定するをご覧ください。
[CEL 式] フィールドに、CEL を使用して変換式を記述します。
[続行] をクリックします。
[送信先] ペインで、次の操作を行います。
[宛先の種類] リストで、メッセージの転送先となる宛先の種類を選択します。宛先のタイプに応じて、次の操作を行います。
HTTP エンドポイント: 宛先 URI を指定します。ホストは、Virtual Private Cloud(VPC)ネットワークからアドレス指定可能な静的 IP アドレスか、Cloud DNS を使用して解決可能なサービスの内部ドメイン ネーム システム(DNS)ホスト名のいずれかです。
この宛先タイプを使用して Cloud Run 関数をターゲットにできます。
Eventarc Advanced バス: Eventarc Advanced バスを選択します。
Workflows ワークフロー: Workflows ワークフローを選択します。
Pub/Sub トピック: Pub/Sub トピックを選択または作成します。
Cloud Run サービス(HTTP 経由): ルート URL パス(
/
)に送信された HTTPPOST
リクエストとしてイベントを受信する Cloud Run サービスを選択します。必要に応じて、イベントの送信先となるサービス上の相対 URL パスを指定できます。Cloud Run ジョブ(HTTP 経由): イベントを HTTP
POST
リクエストとして受信する Cloud Run ジョブを選択します。
HTTP エンドポイント(Cloud Run URL を含む)の場合は、ネットワーク アタッチメントを指定します。
ネットワーク アタッチメントは、プロデューサー VPC ネットワークがコンシューマー VPC ネットワークへの接続を開始できるようにするリソースです。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。
ネットワーク アタッチメントを参照する Private Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先エンドポイントを含むネットワークとリージョンにネットワーク アタッチメントを作成します。
DNS アドレス(Cloud Run など)を使用してメッセージを Google の宛先に転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の Google アクセスが有効になっていることを確認してください。そうしないと、DNS アドレスを解決できません。
必要に応じて、[アウトバウンド形式] リストで形式を選択します。
パイプラインのインバウンド データ形式が指定されていない場合、アウトバウンド形式を設定することはできません。
該当する場合は、メッセージ バインディングを適用します。詳細については、メッセージ バインディングを定義するをご覧ください。
認証を有効にするには、[認証を有効にする] チェックボックスをオンにします。
[Auth ヘッダー] リストで、生成して HTTP リクエストの
Authorization
ヘッダーとして添付するトークンのタイプを選択します。一般に、OAuth トークンは、
*.googleapis.com
でホストされている Google API を呼び出す場合にのみ使用する必要があります。必要に応じて、このトークンのスコープを指定します。指定しない場合、デフォルトはhttps://www.googleapis.com/auth/cloud-platform
になります。Google Cloud サービスの場合は、すべての Google Cloud API を含むhttps://www.googleapis.com/auth/cloud-platform
スコープとともに、きめ細かなアクセス制御を行える Identity and Access Management(IAM)を使用することをおすすめします。別の Eventarc Advanced バス、Pub/Sub、Workflows へのすべてのリクエストには、いずれかの承認済みサービス アカウント用に Google によって署名された OAuth トークンを含む HTTP 認証ヘッダーが必要です。
OIDC トークンは、トークンを自分で検証するエンドポイントなど、さまざまなシナリオで使用できます。さらに、このトークンの対象となるオーディエンスを指定します。通常は、ターゲット パイプラインの URL と一致している必要があります。指定しない場合、リクエスト パラメータを含む URL 全体が使用されます。
Cloud Run はリクエストごとに IAM チェックを実行します。
run.routes.invoke
権限を使用して、次のいずれかの方法で Cloud Run サービスにアクセスできるユーザーを構成できます。サービス アカウントまたはグループを選択して、サービスへのアクセスを許可する権限を付与します。すべてのリクエストには、いずれかの承認済みサービス アカウント用に Google によって署名された OpenID Connect トークンを含む HTTP 認証ヘッダーが必要です。
未承認のアクセスを許可する allUsers に権限を付与します。
詳細については、Cloud Run のアクセス制御をご覧ください。
トークンタイプの詳細を確認する。
[サービス アカウント] リストで、宛先サービスを呼び出すサービス アカウントを選択します。新しいサービス アカウントを作成することもできます。
パイプラインに関連付けられ、以前に Eventarc Advanced で必要な特定のロールを付与した IAM サービス アカウントのメールアドレスを指定します。
[作成] をクリックします。
gcloud
gcloud CLI を使用する場合は、まずパイプラインを作成してから、適切なコマンドを使用して登録を作成します。
パイプライン
ターミナルを開きます。
gcloud beta eventarc pipelines create
コマンドを使用してパイプラインを作成します。gcloud beta eventarc pipelines create PIPELINE_NAME \ --destinations=DESTINATION_KEY \ --location=LOCATION
次のように置き換えます。
PIPELINE_NAME
: パイプラインの ID または完全修飾名DESTINATION_KEY
: パイプラインの宛先を構成する 1 つ以上の Key-Value ペア次のキーのうちいずれか 1 つを設定する必要があります。
http_endpoint_uri
- 宛先 URI。ホストは、Virtual Private Cloud(VPC)ネットワークからアドレス指定可能な静的 IP アドレスか、Cloud DNS を使用して解決可能なサービスの内部ドメイン ネーム システム(DNS)ホスト名のいずれかです。必要に応じて、http_endpoint_message_binding_template
を設定してメッセージ バインディングを指定することもできます。このキーを使用して、HTTP
POST
リクエストとしてイベントを受信する Cloud Run 関数、Cloud Run ジョブ、または Cloud Run サービスをターゲットにできます。message_bus
- Eventarc Advanced バスの ID。pubsub_topic
- Pub/Sub トピックの ID。workflow
- Workflows ワークフローの ID。
http_endpoint_uri
のみ(Cloud Run URL を含む)の場合は、次のキーを設定する必要があります。network_attachment
- プロデューサー VPC ネットワークがコンシューマー VPC ネットワークへの接続を開始できるようにするリソース。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。ネットワーク アタッチメントを参照する Private Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先リソースを含むネットワークとリージョンにネットワーク アタッチメントを作成します。
DNS アドレス(Cloud Run など)を使用してメッセージを Google の宛先に転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の Google アクセスが有効になっていることを確認してください。そうしないと、DNS アドレスを解決できません。
認証を有効にするには、次のいずれかのキーを設定します。
google_oidc_authentication_service_account
- OIDC トークンの生成に使用されるサービス アカウントのメールアドレス。このトークンは、トークンを自分で検証するエンドポイントなど、さまざまなシナリオで使用できます。必要に応じて、google_oidc_authentication_audience
を設定して、このトークンの対象となるオーディエンスを指定できます。通常は、ターゲット パイプラインの URL と一致する必要があります。指定しない場合は、リクエスト パラメータを含む URL 全体が使用されます。Cloud Run はリクエストごとに IAM チェックを実行します。
run.routes.invoke
権限を使用して、次のいずれかの方法で Cloud Run サービスにアクセスできるユーザーを構成できます。サービス アカウントまたはグループを選択して、サービスへのアクセスを許可する権限を付与します。すべてのリクエストには、いずれかの承認済みサービス アカウント用に Google によって署名された OpenID Connect トークンを含む HTTP 認証ヘッダーが必要です。
未承認のアクセスを許可する allUsers に権限を付与します。
詳細については、Cloud Run のアクセス制御 をご覧ください。
oauth_token_authentication_service_account
- OAuth トークンの生成に使用されるサービス アカウントのメールアドレス。通常、*.googleapis.com
でホストされている Google API を呼び出す場合にのみ使用されます。必要に応じて、oauth_token_authentication_scope
を設定してこのトークンのスコープを指定できます。指定しない場合、デフォルトはhttps://www.googleapis.com/auth/cloud-platform
になります。Google Cloud サービスの場合は、すべての Google Cloud API を含むhttps://www.googleapis.com/auth/cloud-platform
スコープとともに、きめ細かなアクセス制御を行える Identity and Access Management(IAM)を使用することをおすすめします。別の Eventarc Advanced バス、Pub/Sub、Workflows へのすべてのリクエストには、いずれかの承認済みサービス アカウント用に Google によって署名された OAuth トークンを含む HTTP 認証ヘッダーが必要です。
トークンタイプの詳細を確認する。
省略可: 次のいずれかのキーを設定できます。
output_payload_format_avro_schema_definition
output_payload_format_json
output_payload_format_protobuf_schema_definition
出力形式を設定する場合は、入力形式も指定する必要があります(次の
input-payload-format-*
フラグをご覧ください)。
省略可:
http_endpoint_uri
が宛先キーとして使用されていない場合は、次のキーを設定できます。project
- 宛先リソースの Google Cloud プロジェクト ID。デフォルトでは、パイプラインのプロジェクト ID が使用されます。location
- 宛先リソースのロケーション。デフォルトでは、パイプラインのロケーションが使用されます。
LOCATION
: Eventarc Advanced でサポートされているリージョンまたは、gcloud CLI のロケーション プロパティを設定することもできます。
gcloud config set eventarc/location LOCATION
省略可: 次のフラグを使用できます。
--async
: 処理中のオペレーションの完了を待たずに、コマンドからすぐに戻ります。--crypto-key
: 顧客管理の暗号鍵の完全修飾名を指定します。指定しない場合は、 Google-owned and managed keys が使用されます。--logging-config
: ロギングレベルを構成します。次のいずれかの値を指定する必要があります。NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。--mediations
: 変換を適用します。transformation_template
はサポートされている唯一のテンプレートであり、パイプラインごとに 1 つのメディエーションのみがサポートされています。例:--mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'
変換を適用する場合は、次のいずれかのフラグを使用して入力形式を指定する必要があります。
入力形式を指定する次のいずれか。
--input-payload-format-avro-schema-definition
--input-payload-format-json
--input-payload-format-protobuf-schema-definition
--max-retry-attempts
、--max-retry-delay
、--min-retry-delay
を再試行イベントに
次に例を示します。
gcloud beta eventarc pipelines create my-pipeline \ --destinations=http_endpoint_uri='https://example-endpoint.com',network_attachment=my-network-attachment,oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \ --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \ --location=us-central1 \ --async
詳細と例については、gcloud CLI のドキュメントをご覧ください。
登録
ターミナルを開きます。
gcloud beta eventarc enrollments create
コマンドを使用して登録を作成します。gcloud beta eventarc enrollments create ENROLLMENT_NAME \ --cel-match=MATCH_EXPRESSION \ --destination-pipeline=PIPELINE_NAME \ --message-bus=BUS_NAME \ --message-bus-project=PROJECT_ID \ --location=LOCATION
次のように置き換えます。
ENROLLMENT_NAME
: 登録の ID または完全修飾名MATCH_EXPRESSION
: この登録の CEL を使用したマッチング式(例:"message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
)PIPELINE_NAME
: この登録のターゲット パイプライン ID または完全修飾名BUS_NAME
: Eventarc Advanced バスの ID または完全修飾名PROJECT_ID
: バスの Google Cloud プロジェクト IDLOCATION
: Eventarc Advanced でサポートされているリージョンまたは、gcloud CLI のロケーション プロパティを設定することもできます。
gcloud config set eventarc/location LOCATION
省略可: 次のフラグを使用できます。
--async
: 処理中のオペレーションの完了を待たずに、コマンドからすぐに戻ります。
次に例を示します。
gcloud beta eventarc enrollments create my-enrollment \ --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \ --destination-pipeline=my-pipeline \ --message-bus=my-message-bus \ --message-bus-project=another-google-cloud-project \ --location=us-central1 \ --async
REST API
Eventarc API にリクエストを送信する場合は、まずパイプラインを作成してから登録を作成します。
パイプライン
パイプラインを作成するには、projects.locations.pipelines.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
name
: パイプラインの完全なリソース名(projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME
形式)。次のように置き換えます。
PROJECT_ID
: パイプライン プロジェクトの Google Cloudプロジェクト IDLOCATION
: パイプラインがデプロイされるリージョン(例:us-central1
)PIPELINE_NAME
: パイプラインの名前
LABEL_KEY
、LABEL_VALUE
: 省略可。 Google Cloud リソースの整理に役立つラベルの Key-Value ペアのマップです。詳細については、ラベルとはをご覧ください。ANNOTATION_KEY
、ANNOTATION_VALUE
: 省略可。自由形式のテキストのアノテーション キーと値のペアのマップ。これらを使用して、リソースに関連付けられた任意の情報を付加できます。詳細については、アノテーションをご覧ください。LOG_SEVERITY
: 省略可。ログエントリに記述されているイベントの最小重大度。NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
のいずれか。デフォルトはNONE
です。詳細については、LogSeverity
をご覧ください。destinations
: メッセージの転送先。サポートされている宛先は 1 つのみです(httpEndpoint
、messageBus
、topic
、workflow
)。詳細については、Destination
ターゲットをご覧ください。たとえば、次のように置き換えます。HTTP_URI
: 宛先 URI。ホストは、Virtual Private Cloud(VPC)ネットワークからアドレス指定可能な静的 IP アドレスか、Cloud DNS を使用して解決可能なサービスの内部 ドメイン ネーム システム(DNS)ホスト名のいずれかです。必要に応じて、messageBindingTemplate
を設定して メッセージ バインディングを指定することもできます。networkAttachment
:httpEndpoint
(Cloud Run URL を含む)にのみ適用されます。ネットワーク アタッチメントの完全なリソース名。形式はprojects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME
です。ネットワーク アタッチメントは、プロデューサーの Virtual Private Cloud ネットワークがコンシューマー VPC ネットワークへの接続を開始できるようにするリソースであり、指定する必要があります。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。ネットワーク アタッチメントを参照する Private Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先リソースを含むネットワークとリージョンにネットワーク アタッチメントを作成します。
DNS アドレス(Cloud Run など)を使用してメッセージを Google の宛先に転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の Google アクセスが有効になっていることを確認してください。そうしないと、DNS アドレスを解決できません。
SERVICE_ACCOUNT_EMAIL
: OIDC トークンの生成に使用されるサービス アカウントのメールアドレスの名前。このトークンは、トークンを自分で検証するエンドポイントなど、多くのシナリオで使用できます。必要に応じて、audience
を設定して、このトークンの対象となるオーディエンスを指定できます。通常は、ターゲット パイプラインの URL と一致する必要があります。指定しない場合、リクエスト パラメータを含む URL 全体が使用されます。または、
oauthToken
を使用して、OAuth トークンの生成に使用するサービス アカウントのメールアドレスを指定することもできます。これは通常、*.googleapis.com
でホストされている Google API を呼び出す場合にのみ使用します。必要に応じて、scope
を設定してこのトークンのスコープを指定できます。指定しない場合、デフォルトはhttps://www.googleapis.com/auth/cloud-platform
になります。 Google Cloudサービスの場合は、すべての Google Cloud API を含むhttps://www.googleapis.com/auth/cloud-platform
スコープとともに、きめ細かなアクセス制御を行える Identity and Access Management(IAM)を使用することをおすすめします。別の Eventarc Advanced バス、Pub/Sub、Workflows へのすべてのリクエストには、いずれかの承認済みサービス アカウント用に Google によって署名された OAuth トークンを含む HTTP 認証ヘッダーが必要です。
トークンタイプの詳細を確認する。
リクエストの本文(JSON):
{ "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "loggingConfig": {"logSeverity":"LOG_SEVERITY"}, "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},"networkConfig": {"networkAttachment": "projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"}, "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}] }
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された 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/pipelines/PIPELINE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
登録
登録を作成するには、projects.locations.enrollments.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
ENROLLMENT_NAME
: 登録の表示名(例:my_enrollment
)。MATCH_EXPRESSION
: この登録が適用されるメッセージを識別する CEL 式。例:message.type == 'hello-world-type'
destination
: ターゲット パイプラインの完全なリソース名(projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME
形式)。次のように置き換えます。
PROJECT_ID
: パイプライン プロジェクトの Google Cloudプロジェクト IDLOCATION
: パイプラインがデプロイされているリージョン(例:us-central1
)。PIPELINE_NAME
: パイプラインの名前
message_bus
: メッセージの送信元を識別するバスの完全なリソース名(projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME
の形式)。次のように置き換えます。
BUS_PROJECT_ID
: バス プロジェクトの Google Cloud プロジェクト IDBUS_LOCATION
: バスがデプロイされているリージョン(例:us-central1
)BUS_NAME
: メッセージ バスの名前
リクエストの本文(JSON):
{ "display_name": "ENROLLMENT_NAME", "cel_match": "MATCH_EXPRESSION", "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME", "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME" }
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された 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/enrollments/ENROLLMENT_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
登録の一覧表示
登録は次の方法で一覧表示できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
Eventarc API にリクエストを送信する
コンソール
特定のパイプラインの登録を一覧表示するには、 Google Cloud コンソールで、[Eventarc] > [パイプライン] ページに移動します。
登録を一覧表示するパイプラインの名前をクリックします。
[パイプラインの詳細] ページが開きます。
[登録] タブには、パイプラインに関連付けられている登録が一覧表示されます。
gcloud
ターミナルを開きます。
gcloud beta eventarc enrollments list
コマンドを使用して登録を一覧表示します。gcloud beta eventarc enrollments list \ --location=LOCATION
LOCATION
は、サポートされている Eventarc Advanced リージョンに置き換えます。
REST API
登録を一覧表示するには、projects.locations.enrollments.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際の Google Cloudプロジェクト ID。LOCATION
: 登録が作成されるリージョン(例:us-central1
)。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には Enrollment
のインスタンスが含まれ、レスポンスは次のようになります。
{ "enrollments": [ { "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME", "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326", "createTime": "2025-03-26T17:57:25.214845320Z", "updateTime": "2025-03-26T17:57:45.136172180Z", "celMatch": "message.type == \"hello-world-type\"", "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME", "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME" }, {...} ] }
登録を削除する
登録は次の方法で削除できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
Eventarc API にリクエストを送信する
コンソール
登録を削除するには、 Google Cloud コンソールで、[Eventarc] > [パイプライン] ページに移動します。
登録を削除するパイプラインの名前をクリックします。
[パイプラインの詳細] ペインが開きます。
[
編集] をクリックします。[続行] をクリックします。
[登録] ペインが開きます。
削除する登録の
削除アイコンをクリックします。[保存] をクリックします。
gcloud
ターミナルを開きます。
gcloud beta eventarc enrollments delete
コマンドを使用して登録を削除します。gcloud beta eventarc enrollments delete ENROLLMENT_NAME \ --location=LOCATION
次のように置き換えます。
ENROLLMENT_NAME
: 登録の ID または完全修飾名LOCATION
: 登録のEventarc Advanced でサポートされているリージョン
REST API
登録を削除するには、projects.locations.enrollments.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
ENROLLMENT_NAME
: 削除する登録の表示名(例:my_enrollment
)。PROJECT_ID
: 実際の Google Cloudプロジェクト ID。LOCATION
: 登録がデプロイされているリージョン(例:us-central1
)。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された 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/enrollments/ENROLLMENT_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
パイプラインを一覧表示する
パイプラインは次の方法で一覧表示できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
Eventarc API にリクエストを送信する
コンソール
Google Cloud コンソールで、[Eventarc] > [パイプライン] ページに移動します。
パイプラインが一覧表示されます。必要に応じて、
[フィルタ] を使用して検索を制限できます。gcloud
ターミナルを開きます。
gcloud beta eventarc pipelines list
コマンドを使用して登録を一覧表示します。gcloud beta eventarc pipelines list \ --location=LOCATION
LOCATION
は、サポートされている Eventarc Advanced リージョンに置き換えます。
REST API
パイプラインを一覧表示するには、projects.locations.pipelines.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID
: 実際の Google Cloudプロジェクト ID。LOCATION
: パイプラインが作成されるリージョン(例:us-central1
)。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には Pipeline
のインスタンスが含まれ、レスポンスは次のようになります。
{ "pipelines": [ { "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME", "createTime": "2025-01-10T20:32:11.606516066Z", "updateTime": "2025-03-26T18:02:34.886616683Z", "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218", "destinations": [ { "networkConfig": { "networkAttachment": "projects/PROJECT_ID/regions/LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME" }, "httpEndpoint": { "uri": "HTTP_URI" }, "authenticationConfig": { "googleOidc": { "serviceAccount": "SERVICE_ACCOUNT_EMAIL" } } } ], "loggingConfig": { "logSeverity": "NONE" }, "retryPolicy": { "maxAttempts": 5, "minRetryDelay": "1s", "maxRetryDelay": "60s" } }, {...} ] }
パイプラインを削除する
パイプラインは次の方法で削除できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
- Eventarc API にリクエストを送信する
パイプラインの削除には 10 分以上かかることがあります。
コンソール
パイプラインを削除するには、 Google Cloud コンソールで、[Eventarc] > [パイプライン] ページに移動します。
パイプラインのリストで、削除するパイプラインの名前の横にあるチェックボックスをオンにします。
[削除] をクリックします。
「
Delete
」と入力して削除を確定します。[削除] をクリックします。
gcloud
ターミナルを開きます。
gcloud beta eventarc pipelines delete
コマンドを使用してパイプラインを削除します。gcloud beta eventarc pipelines delete PIPELINE_NAME \ --location=LOCATION
次のように置き換えます。
PIPELINE_NAME
: パイプラインの ID または完全修飾名LOCATION
: パイプラインの Eventarc Advanced でサポートされているリージョン
REST API
パイプラインを削除するには、projects.locations.pipelines.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PIPELINE_NAME
: 削除するパイプラインの表示名(例:my_pipeline
)。PROJECT_ID
: 実際の Google Cloudプロジェクト ID。LOCATION
: パイプラインがデプロイされているリージョン(例:us-central1
)。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された 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/pipelines/PIPELINE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }