您可以透過 Eventarc Advanced 匯流排,集中管理、監控及追蹤系統中的訊息流程,並充當路由器。它會接收來自訊息來源或由提供者發布的事件,並根據註冊進行評估。註冊項目可用於識別特定匯流排的訂閱項目,並定義訊息的比對條件,以便將訊息依據比對結果進行路由。詳情請參閱「建立註冊項目以接收事件」。
匯流排可供專案或其他專案中的事件提供者和目的地使用。詳情請參閱「專案版面配置」。
必要的角色
身分與存取權管理 (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
控制台
在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus」頁面。
按一下「建立匯入資料集」
。在「Create a bus」(建立中繼) 頁面中執行下列操作:
- 輸入匯流排名稱。這是巴士的 ID。
- 選用:輸入「Bus display name」,這個名稱會顯示在「Bus details」頁面上。
- 在「Region」清單中,選取支援的區域,以便部署公車。
- 在「Log severity」清單中,選取記錄項目中所述事件的最低嚴重性。預設值為「無」。詳情請參閱
LogSeverity
。 - 針對「Encryption」(加密),請接受預設的 Google-managed encryption key 或選取「Cloud KMS key」(Cloud KMS 金鑰)。如需更多資訊,請參閱「使用客戶自行管理的加密金鑰 (CMEK)」。
如果選取「Cloud KMS 金鑰」,請按照下列步驟操作:
在「Key type」清單中,選取管理金鑰的方法。
您可以手動管理金鑰,也可以使用 Autokey,讓系統視需要產生金鑰環和金鑰。如果「使用 Autokey 的 Cloud KMS」選項停用,表示尚未與目前的資源類型整合。
在「選取 Cloud KMS 金鑰」中選取金鑰。
請注意,您必須先選取區域,才能查看客戶自行管理的金鑰。
選用:如要手動輸入金鑰的資源名稱,請在「Select a customer-managed key」清單中按一下「Enter key manually」,然後按照指定格式輸入金鑰名稱。
如果系統提示,請將
cloudkms.cryptoKeyEncrypterDecrypter
角色授予 Eventarc 服務代理。
選用步驟:如要新增訊息來源,請按一下
「新增來源」。- 在「Add message source」窗格中,針對 Google API 訊息供應器,接受預設的
google-api-source
或輸入其他來源名稱。 按一下 [建立]。
這樣一來,系統就能自動收集直接來自 Google 來源的事件。
請注意,只有與匯流排位於同一 Google Cloud專案中的資源事件才會發布。詳情請參閱「發布來自 Google 來源的事件」。
- 在「Add message source」窗格中,針對 Google API 訊息供應器,接受預設的
選用:如要新增標籤,請按一下 什麼是標籤?」。
「新增標籤」。標籤是鍵/值組合,可協助您整理Google Cloud 資源。詳情請參閱「
按一下 [建立]。
gcloud
開啟終端機。
使用
gcloud beta eventarc message-buses create
指令建立匯流排。gcloud beta 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
可設定記錄項目中所述事件的最小嚴重性。必須是下列其中一個:NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。預設為NONE
。詳情請參閱LogSeverity
。
REST API
如要建立中繼,請使用 projects.locations.messageBuses.create
方法。
使用任何要求資料之前,請先替換以下項目:
BUS_NAME
:匯流排的顯示名稱,例如my_bus
。LABEL_KEY
和LABEL_VALUE
:選用。標籤鍵/值組合對應表,可協助您整理 Google Cloud 資源。詳情請參閱「什麼是標籤?」ANNOTATION_KEY
和ANNOTATION_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
:選用。記錄項目描述的事件最低嚴重性。只能設為以下任一種:NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。預設為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
控制台
在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus」頁面。
「Bus details」(公車詳細資料) 頁面隨即開啟。
按一下
「Delete」。系統提示您刪除匯流排時,如果您確認設為使用匯流排的所有訊息來源都無法再使用匯流排,請選取「Do you want to proceed?」核取方塊。
如要確認刪除,請輸入
Delete
。點選「刪除」。
gcloud
開啟終端機。
使用
gcloud beta eventarc message-buses delete
指令刪除匯入。gcloud beta 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 }