建立註冊項目以接收事件

註冊項目可用於識別特定匯流排的訂閱項目。註冊項目會定義比對條件,判斷要將哪些訊息轉送至目的地。並指定符合條件的郵件應透過哪個管道傳送。您可以設定目標目的地,並選擇是否先轉換相符的事件,再傳送至目的地。

注意事項:

  • 管道和註冊程序必須位於同一個 Google Cloud 專案中。(訂閱的匯流排可以位於相同或不同專案)。
  • 一個管道可供多個註冊程序使用。
  • 管道路由傳送的訊息只能有一個目標。

事前準備

設定管道或註冊項目之前,您應該已建立 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 控制台中,您可以從「Pipelines」(管道) 頁面同時建立管道和註冊。

  1. 如要建立註冊項目,請在 Google Cloud 控制台中,依序前往「Eventarc」>「Pipelines」(管道) 頁面。

    前往 Pipelines

  2. 按一下 「建立管道」

  3. 在「Pipeline details」(管道詳細資料) 窗格中,執行下列操作:

    1. 輸入「Pipeline name」(管道名稱),這是管道的 ID。
    2. 在「Region」(區域) 清單中,選取要部署管道的區域。管道必須與匯流排位於相同區域。詳情請參閱「Eventarc Advanced 地理位置」。
    3. 選用:在「記錄嚴重性」清單中,選取記錄項目中所述事件的最低嚴重性。預設值為「無」。詳情請參閱 LogSeverity
    4. 選用:在「重試政策」部分,您可以修改預設設定來重試事件
    5. 針對「Encryption」(加密選項),請接受預設值 Google-managed encryption key,或是選取「Cloud KMS key」(Cloud KMS 金鑰)。詳情請參閱「使用客戶自行管理的加密金鑰 (CMEK)」。
    6. 如果選取「Cloud KMS 金鑰」,請執行下列操作:

      1. 在「金鑰類型」清單中,選取金鑰管理方法。

        您可以手動管理金鑰,也可以使用 Autokey 視需要產生金鑰環和金鑰。如果 Autokey 選項停用,表示尚未與目前的資源類型整合。

      2. 在「選取客戶管理的金鑰」中,選取金鑰。

        請注意,您必須先選取區域,才能查看客戶自行管理的金鑰。

      3. 選用:如要手動輸入金鑰的資源名稱,請在「選取客戶管理的金鑰」清單中,按一下「手動輸入金鑰」,然後以指定格式輸入金鑰名稱。

      4. 如果系統提示,請將 cloudkms.cryptoKeyEncrypterDecrypter 角色授予 Eventarc 服務代理

    7. 選用:如要新增標籤,請依序點選 「新增標籤」。標籤是鍵/值組合,可協助您整理Google Cloud 資源。詳情請參閱「什麼是標籤?」一文。

    8. 按一下「繼續」

  4. 在「註冊」窗格中,執行下列操作:

    1. 按一下「新增註冊」
    2. 輸入註冊名稱
    3. 在「Bus」(匯流排) 清單中,選取要訂閱的匯流排。
    4. 在「CEL 運算式」欄位中,使用 CEL 編寫評估運算式。例如:

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

      請注意,預設運算式 true 表示所有訊息都會未經篩選地轉送。

    5. 按一下 [完成]

    6. 你可以新增其他註冊項目,或按一下「繼續」

  5. 選用步驟:在「事件中介服務」窗格中,執行下列操作或按一下「繼續」

    1. 選取「套用轉換」核取方塊。
    2. 在「Inbound format」清單中,選取適用的格式。

      請注意,套用轉換時,您必須為管道指定傳入資料格式,且所有事件都必須符合該格式。

    3. 如果是 Avro 或 Protobuf 格式,您必須指定傳入結構定義。 你也可以選擇上傳傳入結構定義。詳情請參閱「格式化收到的事件」。

    4. 在「CEL 運算式」欄位中,使用 CEL 編寫轉換運算式。

    5. 按一下「繼續」

  6. 在「目的地」窗格中,執行下列操作:

    1. 在「目的地類型」清單中,選取要將訊息傳送至的目的地類型。視目的地類型而定,請按照下列步驟操作:

      • HTTP 端點:指定目的地 URI。主機可以是虛擬私有雲 (VPC) 網路中可定址的靜態 IP 位址,也可以是可使用 Cloud DNS 解析的服務內部網域名稱系統 (DNS) 主機名稱。

        舉例來說,您可以指定 Cloud Run 服務網址,該網址會以 HTTP POST 要求的形式接收事件。使用 Cloud Run 代管服務首次部署時提供的穩定自動指派 run.app URL。或者,您也可以指定BigQuery 資料表,以接收 HTTP POST 要求的形式傳送的事件。定義訊息繫結,建構 BigQuery API 的 HTTP 要求。

        您也可以使用這個目的地類型,為 Cloud Run 函式 (第 1 代目前版本) 指定 HTTP 端點。為 Cloud Run 函式指定 HTTP 觸發條件時,系統會為函式指派網址,函式可透過該網址接收要求。

      • Eventarc Advanced 匯流排:選取 Eventarc Advanced 匯流排。匯流排必須與管道部署在相同專案和區域。

      • Workflows 工作流程:選取 Workflows 工作流程。您可以觸發工作流程的執行,也就是單次執行工作流程定義中包含的邏輯。工作流程必須部署在與管道相同的專案中。

      • 「Pub/Sub topic」(Pub/Sub 主題):選取或建立 Pub/Sub 主題。必須先建立主題,訊息才能傳送至該主題,且主題必須位於與管道相同的專案中。如果使用主題結構定義,請務必適當轉換事件訊息

      • Cloud Run 服務 (透過 HTTP):選取Cloud Run 服務,該服務會接收以 HTTP POST 要求形式傳送至根網址路徑 (/) 的事件;您也可以選擇在目的地服務上指定相對網址路徑,事件會傳送至該路徑。

      • Cloud Run 工作 (透過 HTTP):選取將以 HTTP POST 要求接收事件的 Cloud Run 工作

    2. 如適用,請在「Outbound format」(輸出格式) 清單中選取格式。

      請注意,如果管道指定輸入資料格式,就無法設定輸出格式。

    3. 如適用,請套用「訊息繫結」。詳情請參閱「定義訊息繫結」。

    4. 如要啟用驗證,請勾選「Enable authentication」(啟用驗證) 核取方塊。

      1. 在「Auth header」(驗證標頭) 清單中,選取要產生並附加為 HTTP 要求中 Authorization 標頭的權杖類型:

        • 一般來說,只有在呼叫 *.googleapis.com 上託管的 Google API 時,才應使用 OAuth 權杖。(選用) 指定這個權杖的範圍;否則,系統會預設為 https://www.googleapis.com/auth/cloud-platform。對於服務,最佳做法是使用 https://www.googleapis.com/auth/cloud-platform 範圍 (包含所有 Google Cloud API),以及 Identity and Access Management (IAM),提供精細的存取權控管。Google Cloud

          請注意,對其他 Eventarc Advanced 匯流排、Pub/Sub 或 Workflows 的所有要求,都必須具備 HTTP Authorization 標頭,其中包含由 Google 為授權服務帳戶簽署的 OAuth 權杖。

        • OIDC 權杖可用於許多情境,包括您打算自行驗證權杖的端點。此外,請指定這個權杖的目標對象。一般來說,這應與目標管道的網址相符。如未指定,系統會使用整個網址,包括任何要求參數。

          請注意,Cloud Run 會對每項要求執行 IAM 檢查,您可以使用 run.routes.invoke 權限,透過下列任一方式設定可存取 Cloud Run 服務的使用者:

          • 授予選取服務帳戶或群組的權限,允許存取服務。所有要求都必須包含 HTTP 授權標頭,其中含有由 Google 為其中一個授權服務帳戶簽署的 OpenID Connect 權杖。

          • 將權限授予 allUsers,允許未經驗證的存取要求。

          詳情請參閱「Cloud Run 的存取權控管」。

        進一步瞭解權杖類型

      2. 在「Service account」(服務帳戶) 清單中,選取將叫用目的地服務的服務帳戶。或者,您也可以建立新的服務帳戶。

        這會指定與管道相關聯的 IAM 服務帳戶電子郵件地址,以及您先前授予 Eventarc Advanced 服務所需特定角色的帳戶。

  7. 點選「建立」

gcloud

使用 gcloud CLI 時,請先建立管道,然後使用適當的指令建立註冊。

管道

  1. 開啟終端機。

  2. 使用 gcloud eventarc pipelines create 指令建立管道:

    gcloud eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=LOCATION

    更改下列內容:

    • PIPELINE_NAME:管道的 ID 或完整名稱
    • DESTINATION_KEY:一或多個鍵/值配對,用於設定管道的目的地

      您只能設定下列其中一個鍵:

      • http_endpoint_uri:目的地 URI。主機可以是虛擬私有雲 (VPC) 網路中可定址的靜態 IP 位址,也可以是可使用 Cloud DNS 解析的服務內部網域名稱系統 (DNS) 主機名稱。(選用) 你也可以設定 http_endpoint_message_binding_template 來指定訊息繫結

        您可以使用這個金鑰,指定要接收 HTTP POST 要求形式事件的 Cloud Run 服務網址。使用在首次部署 Cloud Run 託管服務時提供的穩定自動指派 run.app URL。或者,您也可以指定BigQuery 資料表,以接收 HTTP POST 要求的形式傳送的事件。定義訊息繫結,建構 BigQuery API 的 HTTP 要求。

        您也可以使用這個目的地類型,為 Cloud Run 函式 (第 1 代目前版本) 指定 HTTP 端點。為 Cloud Run 函式指定 HTTP 觸發條件時,系統會為函式指派網址,函式可透過該網址接收要求。

      • message_bus,即 Eventarc Advanced 匯流排的 ID。匯流排必須與管道部署在相同專案和區域。

      • pubsub_topicPub/Sub 主題的 ID。必須先建立主題,訊息才能傳送至該主題。此外,如果使用主題結構定義,請務必適當轉換事件訊息

      • workflowWorkflows 工作流程的 ID。 您可以觸發工作流程的執行作業,也就是單次執行工作流程定義中包含的邏輯。工作流程必須部署在與管道相同的專案中。

      如要啟用驗證,可以設定下列其中一個金鑰:

      • google_oidc_authentication_service_account:用於產生 OIDC 權杖的服務帳戶電子郵件,可用於許多情境,包括您打算自行驗證權杖的端點。您可以選擇設定 google_oidc_authentication_audience,指定這個權杖的目標對象。一般來說,這應與目標管道的網址相符。如未指定,系統會使用整個網址,包括所有要求參數。

        請注意,Cloud Run 會對每項要求執行 IAM 檢查,您可以使用 run.routes.invoke 權限,透過下列任一方式設定可存取 Cloud Run 服務的使用者:

        • 授予選取服務帳戶或群組的權限,允許存取服務。所有要求都必須包含 HTTP 授權標頭,其中含有由 Google 為其中一個授權服務帳戶簽署的 OpenID Connect 權杖。

        • 將權限授予 allUsers,允許未經驗證的存取要求。

        詳情請參閱「Cloud Run 的存取權控管 」。

      • oauth_token_authentication_service_account:用於產生 OAuth 權杖的服務帳戶電子郵件,一般只應在呼叫 *.googleapis.com 上託管的 Google API 時使用。您可以視需要設定 oauth_token_authentication_scope,指定這個權杖的範圍;否則,系統會預設為 https://www.googleapis.com/auth/cloud-platform。對於服務,最佳做法是使用 https://www.googleapis.com/auth/cloud-platform 範圍 (包含所有 Google Cloud API),以及 Identity and Access Management (IAM),提供精細的存取權控管。Google Cloud

        請注意,對其他 Eventarc Advanced 匯流排、Pub/Sub 或 Workflows 的所有要求,都必須具備 HTTP Authorization 標頭,其中包含由 Google 為授權服務帳戶簽署的 OAuth 權杖。

        進一步瞭解權杖類型

      選用:您可以設定下列其中一個金鑰:

      • 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:目的地資源的位置;預設會使用管道的位置。
    • LOCATION支援的 Eventarc Advanced 區域

      或者,您也可以設定 gcloud CLI 位置屬性:

      gcloud config set eventarc/location LOCATION
      

    選用:您可以使用下列標記:

    • --async,讓指令立即傳回,不必等待進行中的作業完成。
    • --crypto-key:指定客戶管理的加密金鑰的完整名稱;如未指定,則使用 Google-owned and managed keys 。
    • --logging-config,設定記錄層級,必須是下列其中一個值:NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY
    • --mediations,套用轉換transformation_template 是唯一支援的範本,且每個管道僅支援一個中介服務,例如:

      --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 eventarc pipelines create my-pipeline \
        --destinations=http_endpoint_uri='https://example-endpoint.com',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 eventarc enrollments create 指令建立註冊:

    gcloud 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 或完整名稱
    • :這個註冊程序的比對運算式 (使用 CEL),例如 "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"MATCH_EXPRESSION
    • PIPELINE_NAME:這個註冊作業的目標管道 ID 或完整名稱
    • BUS_NAME:Eventarc Advanced 匯流排的 ID 或完整名稱
    • PROJECT_ID:匯流排的 Google Cloud 專案 ID
    • LOCATION支援的 Eventarc Advanced 區域

      或者,您也可以設定 gcloud CLI 位置屬性:

      gcloud config set eventarc/location LOCATION
      

    選用:您可以使用下列標記:

    • --async,立即從指令傳回,不必等待進行中的作業完成

    例如:

    gcloud 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 傳送要求時,請先建立管道,然後建立註冊。

pipeline

如要建立管道,請使用 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:選用。標籤鍵/值組合的對應,可協助您整理資源。 Google Cloud 詳情請參閱「什麼是標籤?
  • ANNOTATION_KEYANNOTATION_VALUE:選用。任意格式文字的註解鍵/值組合對應。您可以使用這些標籤,附加與資源相關的任意資訊。詳情請參閱「註解」一節。
  • LOG_SEVERITY:選用。記錄項目所述事件的最低嚴重程度。只能設定為NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY。預設值為 NONE。詳情請參閱 LogSeverity
  • destinations:郵件轉寄目的地。(選用) 您可以設定 messageBindingTemplate 來指定訊息繫結。詳情請參閱Destination目標。系統僅支援一個目的地:
  • SERVICE_ACCOUNT_EMAIL: 用於產生 OIDC 權杖的服務帳戶電子郵件地址名稱, 可用於許多情境,包括您打算自行驗證權杖的端點。您可以選擇設定 audience,指定這個權杖的目標對象。一般來說,這應與目標管道的網址相符。如未指定,系統會使用整個網址,包括任何要求參數。

    或者,您也可以使用 oauthToken 指定用於產生 OAuth 權杖的服務帳戶電子郵件地址,這通常只會在呼叫 *.googleapis.com 上代管的 Google API 時使用。您可以選擇設定 scope,指定這個權杖的範圍;否則,系統會預設為 https://www.googleapis.com/auth/cloud-platform。對於 Google Cloud服務,最佳做法是使用 https://www.googleapis.com/auth/cloud-platform 範圍 (包含所有 Google Cloud API),並搭配身分與存取權管理 (IAM),提供精細的存取權控管。

    請注意,所有傳送至其他 Eventarc Advanced 匯流排、Pub/Sub 或 Workflows 的要求,都必須含有 HTTP 授權標頭,其中包含由 Google 為授權服務帳戶簽署的 OAuth 權杖。

    進一步瞭解權杖類型

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"},
  "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_EXPRESSIONCEL 運算式,用於識別這項註冊作業適用的訊息。例如: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 控制台中
  • 在終端機或 Cloud Shell 中使用 gcloud CLI
  • 傳送要求至 Eventarc API

控制台

  1. 如要列出特定管道的註冊項目,請在 Google Cloud 控制台中,依序前往「Eventarc」>「Pipelines」(管道) 頁面。

    前往 Pipelines

  2. 按一下要列出註冊記錄的管道名稱。

    「Pipeline details」(管道詳細資料) 頁面隨即開啟。

    「註冊」分頁會列出與管道相關聯的所有註冊項目。

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc enrollments list 指令列出註冊項目:

    gcloud 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

控制台

  1. 如要刪除註冊項目,請在 Google Cloud 控制台中,依序前往「Eventarc」>「Pipelines」(管道) 頁面。

    前往 Pipelines

  2. 按一下要刪除註冊內容的管道名稱。

    「管道詳細資料」窗格隨即開啟。

  3. 按一下「編輯」圖示

  4. 按一下「繼續」

    「Enrollments」(註冊) 窗格隨即開啟。

  5. 找出要刪除的註冊記錄,然後按一下刪除圖示

  6. 按一下 [儲存]

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc enrollments delete 指令刪除註冊:

    gcloud eventarc enrollments delete ENROLLMENT_NAME \
          --location=LOCATION

    更改下列內容:

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」>「Pipelines」(管道) 頁面。

前往 Pipelines

系統會列出所有管道。如要限制搜尋範圍,可以點按 「Filter」(篩選條件)

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc pipelines list 指令列出註冊項目:

    gcloud 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": [
        {
          "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 分鐘。

控制台

  1. 如要刪除管道,請在 Google Cloud 控制台中,依序前往「Eventarc」>「Pipelines」(管道) 頁面。

    前往 Pipelines

  2. 在管道清單中,選取要刪除管道名稱旁邊的核取方塊。

  3. 按一下 「Delete」(刪除)

  4. 輸入 Delete 確認刪除。

  5. 點選「刪除」。

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc pipelines delete 指令刪除管道:

    gcloud eventarc pipelines delete PIPELINE_NAME \
          --location=LOCATION

    更改下列內容:

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
}

後續步驟