イベントを受信する登録を作成する

登録は、特定のバスへのサブスクリプションを識別します。登録では、宛先にルーティングされるメッセージを決定する一致条件を定義します。また、一致したメッセージが転送されるパイプラインも指定します。パイプラインを使用すると、ターゲット宛先を構成できます。また、一致したイベントを宛先に配信する前に変換するオプションも提供されます。

次の点にご注意ください。

  • パイプラインと登録は同じプロジェクトに存在する必要があります。 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 Console の場合
  • ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
  • Eventarc API にリクエストを送信する

Console

Google Cloud コンソールの [パイプライン] ページで、パイプラインと登録の両方を同時に作成できます。

  1. 登録を作成するには、Google Cloud コンソールで [Eventarc] > [パイプライン] ページに移動します。

    [Pipelines] に移動

  2. [Create pipeline] をクリックします。

  3. [パイプラインの詳細] ペインで、次の操作を行います。

    1. パイプライン名を入力します。これはパイプラインの ID です。
    2. [リージョン] リストで、パイプラインをデプロイするリージョンを選択します。パイプラインは、バスと同じリージョンに作成する必要があります。詳細については、Eventarc の Advanced のロケーションをご覧ください。
    3. 省略可: [ログの重大度] リストで、ログエントリで記述されているイベントの最小重大度を選択します。デフォルトは [なし] です。詳細については、LogSeverity をご覧ください。
    4. 省略可: [再試行ポリシー] セクションで、デフォルトの構成を変更してイベントを再試行できます。
    5. [Encryption] で、デフォルトの Google-managed encryption key を受け入れるか、[Cloud KMS key] を選択します。詳細については、顧客管理の暗号鍵(CMEK)を使用するをご覧ください。
    6. [Cloud KMS 鍵] を選択した場合は、次の操作を行います。

      1. [鍵の種類] リストで、鍵を管理する方法を選択します。

        鍵を手動で管理することも、Autokey を使用してキーリングと鍵をオンデマンドで生成することもできます。Autokey オプションが無効になっている場合、このオプションは現在のリソースタイプとまだ統合されていません。

      2. [顧客管理の暗号鍵を選択] で鍵を選択します。

        顧客管理の暗号鍵を表示するには、リージョンを選択する必要があります。

      3. (省略可)鍵のリソース名を手動で入力するには、[顧客管理の暗号鍵を選択] リストで [手動でキーを入力] をクリックして、指定された形式で鍵の名前を入力します。

      4. プロンプトが表示されたら、Eventarc Service Agentcloudkms.cryptoKeyEncrypterDecrypter ロールを付与します。

    7. 省略可: ラベルを追加するには、 [ラベルを追加] をクリックします。ラベルは、Google Cloud リソースの整理に役立つ Key-Value ペアです。詳細については、ラベルとはをご覧ください。

    8. [続行] をクリックします。

  4. [登録] ペインで、次の操作を行います。

    1. [登録を追加] をクリックします。
    2. 登録名を入力します。
    3. [バス] リストで、定期購入するバスを選択します。
    4. [CEL 式] フィールドに、CEL を使用して評価式を記述します。次に例を示します。

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      デフォルトの式 true は、すべてのメッセージがフィルタなしで転送されることを示します。

    5. [完了] をクリックします。

    6. 別の登録を追加するか、[続行] をクリックします。

  5. 省略可: [イベント メディエーション] ペインで、次の操作を行うか、[続行] をクリックします。

    1. [変換を適用] チェックボックスをオンにします。
    2. [インバウンド形式] リストで、該当する形式を選択します。

      変換を適用するときに、パイプラインのインバウンド データ形式を指定する必要があります。また、すべてのイベントがその形式と一致している必要があります。

    3. Avro 形式または Protobuf 形式の場合は、受信スキーマを指定する必要があります。必要に応じて、受信スキーマをアップロードできます。詳細については、受信したイベントをフォーマットするをご覧ください。

    4. [CEL 式] フィールドに、CEL を使用して変換式を記述します。

    5. [続行] をクリックします。

  6. [宛先] ペインで、次の操作を行います。

    1. [宛先の種類] リストで、メッセージを転送する宛先の種類を選択します。宛先のタイプに応じて、次の操作を行います。

      • 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 パス(/)に送信される HTTP POST リクエストとしてイベントを受信する Cloud Run サービスを選択します。必要に応じて、イベントを送信する宛先サービスの相対 URL パスを指定できます。

      • Cloud Run ジョブ(HTTP 経由): HTTP POST リクエストとしてイベントを受信する Cloud Run ジョブを選択します。

    2. ネットワーク アタッチメントを指定します。

      ネットワーク アタッチメントは、プロデューサー VPC ネットワークがコンシューマー VPC ネットワークへの接続を開始できるようにするリソースです。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。

      ネットワーク アタッチメントを参照するPrivate Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先エンドポイントを含むネットワークとリージョンにネットワーク アタッチメントを作成します。

      DNS アドレス(Cloud Run、Pub/Sub、Workflows、または他の Eventarc Advanced バスなど)を使用して Google の宛先にメッセージを転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の Google アクセスが有効になっていることを確認してください。そうしないと、DNS アドレスを解決できません。

    3. 必要に応じて、[アウトバウンド形式] リストで形式を選択します。

      パイプラインにインバウンド データ形式が指定されていない場合、アウトバウンド形式を設定することはできません。

    4. 必要に応じて、メッセージ バインディングを適用します。詳細については、メッセージ バインディングを定義するをご覧ください。

    5. 認証を有効にするには、[認証を有効にする] チェックボックスをオンにします。

      1. [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 のアクセス制御をご覧ください。

        詳しくは、トークンの種類をご覧ください。

      2. [サービス アカウント] リストで、宛先サービスを呼び出すサービス アカウントを選択します。または、新しいサービス アカウントを作成することもできます。

        パイプラインに関連付けられ、以前に Eventarc Advanced で必要な特定のロールを付与した IAM サービス アカウントのメールアドレスを指定します。

  7. [作成] をクリックします。

gcloud

gcloud CLI を使用する場合は、まずパイプラインを作成してから、適切なコマンドを使用して登録を作成します。

パイプライン

  1. ターミナルを開きます。

  2. gcloud beta eventarc pipelines create コマンドを使用してパイプラインを作成します。

    gcloud beta eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=REGION

    次のように置き換えます。

    • PIPELINE_NAME: パイプラインの ID または完全修飾名
    • DESTINATION_KEY: パイプラインの宛先を構成する 1 つ以上の Key-Value ペア

      次のキーのうち1 つだけを設定する必要があります。

      次のキーを設定する必要があります。

      • network_attachment - プロデューサー VPC ネットワークがコンシューマー VPC ネットワークへの接続を開始できるようにするリソース。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。

        ネットワーク アタッチメントを参照するPrivate Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先リソースを含むネットワークとリージョンにネットワーク アタッチメントを作成します。

        DNS アドレスを使用して Google の宛先(Cloud Run、Pub/Sub、Workflows、または別の Eventarc Advanced バスなど)にメッセージを転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の Google アクセスが有効になっていることを確認してください。そうしないと、DNS アドレスを解決できません。

      認証を有効にするには、次のキーの1 つを設定します。

      • 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 認証ヘッダーが必要です。

        詳しくは、トークンの種類をご覧ください。

      省略可: 次のキーの1 つを設定できます。

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        出力形式を設定する場合は、入力形式も指定する必要があります(次の input-payload-format-* フラグをご覧ください)。

      省略可: http_endpoint_uri が宛先キーとして使用されない場合は、次のキーを設定できます。

      • project - 宛先リソースのプロジェクト ID。デフォルトでは、パイプラインのプロジェクト ID が使用されます。 Google Cloud
      • location - 宛先リソースのロケーション。デフォルトでは、パイプラインのロケーションが使用されます。
    • REGION: サポートされている Eventarc Advanced のロケーション

      または、gcloud CLI の location プロパティを設定することもできます。

      gcloud config set eventarc/location REGION
      

    省略可: 次のフラグを使用できます。

    • --async: 処理中のオペレーションの完了を待たずに、コマンドからすぐに戻ります。
    • --crypto-key: 顧客管理の暗号鍵の完全修飾名を指定します。指定しない場合、 Google-owned and managed keys が使用されます。
    • --logging-config: ロギング レベルを構成します。ロギング レベルは、NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY のいずれかにする必要があります。
    • --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 のドキュメントをご覧ください。

登録

  1. ターミナルを開きます。

  2. 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=REGION

    次のように置き換えます。

    • 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 プロジェクト ID
    • REGION: サポートされている Eventarc Advanced のロケーション

      または、gcloud CLI の location プロパティを設定することもできます。

      gcloud config set eventarc/location REGION
      

    省略可: 次のフラグを使用できます。

    • --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

パイプライン

パイプラインを作成するには、projects.locations.pipelines.create メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • name: パイプラインの完全なリソース名(projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME 形式)。

    次のように置き換えます。

    • PROJECT_ID: パイプライン プロジェクトのプロジェクト ID Google Cloud
    • LOCATION: パイプラインをデプロイするリージョン(例: us-central1
    • PIPELINE_NAME: パイプラインの名前
  • LABEL_KEYLABEL_VALUE: 省略可。リソースの整理に役立つラベルの Key-Value ペアのマップです。 Google Cloud 詳細については、ラベルとはをご覧ください。
  • ANNOTATION_KEYANNOTATION_VALUE: 省略可。自由形式テキストのアノテーションのキーと値のペアのマップ。これらを使用して、リソースに関連付けられた任意の情報を付加できます。詳細については、アノテーションをご覧ください。
  • LOG_SEVERITY: 省略可。ログエントリで記述されているイベントの最小重大度。NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY のいずれか。デフォルトは NONE です。詳細については、LogSeverity をご覧ください。
  • destinations: メッセージが転送される宛先。サポートされている宛先は httpEndpointmessageBustopicworkflow の 1 つだけです。詳細については、Destination ターゲットをご覧ください。たとえば、次のように置き換えます。
    • HTTP_URI: 宛先 URI。ホストは、Virtual Private Cloud(VPC)ネットワークからアドレス指定可能な静的 IP か、Cloud DNS を使用して解決可能なサービスの内部ドメイン名システム(DNS)ホスト名のいずれかです。 必要に応じて、messageBindingTemplate を設定して メッセージ バインディングを指定することもできます。
    • networkAttachment: ネットワーク アタッチメントの完全なリソース名。形式は projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME です。ネットワーク アタッチメントは、プロデューサーの Virtual Private Cloud ネットワークがコンシューマーの VPC ネットワークへの接続を開始できるようにするためのリソースであり、指定する必要があります。イベントを公開するために、Eventarc Advanced はネットワーク アタッチメントを使用して、VPC ネットワークでホストされているエンドポイントとの接続を確立します。

      ネットワーク アタッチメントを参照する Private Service Connect インターフェースからの接続を自動的に受け入れるネットワーク アタッチメントを作成できます。宛先リソースを含むネットワークとリージョンにネットワーク アタッチメントを作成します。

      DNS アドレスを使用して Google の宛先(Cloud Run、Pub/Sub、Workflows、または他の Eventarc Advanced バスなど)にメッセージを転送する場合は、ネットワーク アタッチメントで使用されるサブネットで限定公開の 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: パイプライン プロジェクトのプロジェクト ID Google Cloud
    • LOCATION: パイプラインがデプロイされているリージョン(例: us-central1)。
    • PIPELINE_NAME: パイプラインの名前
  • message_bus: メッセージの送信元を識別するバスの完全なリソース名(projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME の形式)。

    次のように置き換えます。

    • BUS_PROJECT_ID: バス プロジェクトの Google Cloud プロジェクト ID
    • BUS_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 Console の場合
  • ターミナルまたは Cloud Shell で gcloud CLI を使用する
  • Eventarc API にリクエストを送信する

Console

  1. 登録を削除するには、Google Cloud コンソールで [Eventarc] > [パイプライン] ページに移動します。

    [Pipelines] に移動

  2. 登録を削除するパイプラインの名前をクリックします。

    [パイプラインの詳細] ペインが開きます。

  3. [続行] をクリックします。

    [登録] ペインが開きます。

  4. 削除する登録の 削除アイコンをクリックします。

  5. [保存] をクリックします。

gcloud

  1. ターミナルを開きます。

  2. gcloud beta eventarc enrollments delete コマンドを使用して登録を削除します。

    gcloud beta eventarc enrollments delete ENROLLMENT_NAME \
          --location=REGION

    次のように置き換えます。

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 Console の場合
  • ターミナルまたは Cloud Shell で gcloud CLI を使用する
  • Eventarc API にリクエストを送信する

パイプラインの削除には 10 分以上かかる場合があります。

Console

  1. パイプラインを削除するには、Google Cloud コンソールで [Eventarc] > [パイプライン] ページに移動します。

    [Pipelines] に移動

  2. パイプラインのリストで、削除するパイプラインの名前の横にあるチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. Delete」と入力して削除を確定します。

  5. [削除] をクリックします。

gcloud

  1. ターミナルを開きます。

  2. gcloud beta eventarc pipelines delete コマンドを使用してパイプラインを削除します。

    gcloud beta eventarc pipelines delete PIPELINE_NAME \
          --location=REGION

    次のように置き換えます。

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
}

次のステップ