建立匯流排來轉送訊息

您可以透過 Eventarc Advanced 匯流排集中管理、監控及追蹤系統中的訊息流程,並將其做為路由器。接收來自訊息來源或提供者發布的事件,並根據註冊評估事件。註冊項目可用於識別特定匯流排的訂閱項目,並定義訊息的比對條件,以便據此轉送訊息。詳情請參閱「建立註冊項目以接收事件」。

專案或其他專案中的事件提供者和目的地,都可以使用匯流排。詳情請參閱「專案版面配置」。

必要的角色

Identity and Access Management (IAM) 角色包含一組權限,可讓您對 Google Cloud 資源執行特定操作。建立匯流排來傳送訊息時,需要下列角色和權限:

  • 如要取得建立匯流排所需的權限,請要求管理員在匯流排專案中,授予您Eventarc 管理員 (roles/eventarc.admin) 或 Eventarc 訊息匯流排管理員 (roles/eventarc.messageBusAdmin) IAM 角色。這些預先定義的角色包含 eventarc.messageBuses.create 權限,這是建立匯流排的必要權限。
  • 如要取得使用匯流排所需的權限,請要求管理員為您授予匯流排專案的 Eventarc 訊息匯流排使用者 (roles/eventarc.messageBusUser) IAM 角色。這個預先定義的角色具備 eventarc.buses.use 權限,這是使用匯流排的必要條件。
  • 如要建立管道和註冊,必須具備額外權限。詳情請參閱建立註冊時的必要角色

如要進一步瞭解怎麼授予角色,請參閱管理存取權的相關說明。您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

建立匯流排

您可以透過下列方式建立匯流排:

  • 在 Google Cloud 控制台中
  • 在終端機或 Cloud Shell 中使用 Google Cloud CLI
  • 傳送要求至 Eventarc API

控制台

  1. 在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus」(匯流排) 頁面。

    前往「Bus」(匯流排) 頁面

  2. 按一下 「建立匯流排」

  3. 在「Create a bus」(建立匯流排) 頁面中執行下列操作:

    1. 輸入「匯流排名稱」。這是巴士的 ID。
    2. 選用:輸入「匯流排顯示名稱」,這個名稱會顯示在「匯流排詳細資料」頁面。
    3. 在「Region」(區域) 清單中,選取要部署匯流排的支援區域
    4. 在「記錄嚴重性」清單中,選取記錄項目所描述事件的最低嚴重性。預設值為「無」。詳情請參閱「LogSeverity」一文。
    5. 針對「Encryption」(加密選項),請接受預設值 Google-managed encryption key,或是選取「Cloud KMS key」(Cloud KMS 金鑰)。詳情請參閱「使用客戶自行管理的加密金鑰 (CMEK)」。
    6. 如果選取「Cloud KMS 金鑰」,請執行下列操作:

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

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

      2. 在「選取 Cloud KMS 金鑰」中,選取金鑰。

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

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

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

    7. 選用:如要新增訊息來源,請按一下 「新增來源」

      1. 在「新增訊息來源」窗格中,針對 Google API 訊息提供者,接受預設的 google-api-source 或輸入其他來源名稱。
      2. 點選「建立」

        啟用這項功能後,系統會自動收集直接來自 Google 來源的事件。

        請注意,只有與匯流排位於同一 Google Cloud專案的資源事件會發布。詳情請參閱「從 Google 來源發布事件」。

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

  4. 點選「建立」

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc message-buses create 指令建立匯流排。

    gcloud eventarc message-buses create BUS_NAME \
        --location=REGION
    

    更改下列內容:

    • BUS_NAME:公車的 ID 或完整識別碼
    • REGION:公車的支援地點

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

      gcloud config set eventarc/location REGION
      

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

    • --async,讓指令立即傳回,不必等待進行中的作業完成。
    • --crypto-key:指定客戶管理的加密金鑰的完整名稱;如未指定,則使用 Google-owned and managed keys 。
    • --logging-config,設定記錄檔項目中事件的最低嚴重程度。必須是下列其中一個值:NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY。預設值為 NONE。詳情請參閱 LogSeverity

REST API

如要建立匯流排,請使用 projects.locations.messageBuses.create 方法。

使用任何要求資料之前,請先替換以下項目:

  • BUS_NAME:匯流排的顯示名稱,例如 my_bus
  • LABEL_KEYLABEL_VALUE:選用。標籤鍵/值組合對應,可協助您整理資源。 Google Cloud 詳情請參閱「什麼是標籤?
  • ANNOTATION_KEYANNOTATION_VALUE:選用。任意格式文字的註解鍵/值組合對應。您可以使用這些標籤,附加與資源相關的任意資訊。詳情請參閱「註解」一節。
  • ENCRYPT_KEY:選用。匯流排應使用的 Cloud KMS 金鑰,用於資料加密,格式為 projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME。詳情請參閱「使用客戶管理的加密金鑰」。
  • PROJECT_ID:您的 Google Cloud專案 ID。
  • LOCATION:要建立匯流排的區域,例如 us-central1
  • LOG_SEVERITY:選用。記錄項目所述事件的最低嚴重程度。只能設定為NONEDEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY。預設值為 NONE。詳情請參閱 LogSeverity

JSON 要求主體:

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "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/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

刪除公車

你可以透過下列方式刪除匯流排:

  • 在 Google Cloud 控制台中
  • 在終端機或 Cloud Shell 中使用 gcloud CLI
  • 傳送要求至 Eventarc API

控制台

  1. 在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus」(匯流排) 頁面。

    前往「Bus」(匯流排) 頁面

    「Bus details」(匯流排詳細資料) 頁面隨即開啟。

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

  3. 系統提示刪除匯流排時,請選取「要繼續嗎?」核取方塊,確認設為使用該匯流排的所有訊息來源都會停止運作。

  4. 如要確認刪除,請輸入 Delete

  5. 點選「刪除」。

gcloud

  1. 開啟終端機。

  2. 使用 gcloud eventarc message-buses delete 指令刪除匯流排。

    gcloud eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    更改下列內容:

    • BUS_NAME:公車的 ID 或完整識別碼
    • REGION:公車的支援位置

REST API

如要刪除公車,請使用 projects.locations.messageBuses.delete 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud專案 ID。
  • LOCATION:建立匯流排的區域,例如 us-central1
  • BUS_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/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

後續步驟