您可以透過 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
控制台
在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus」(匯流排) 頁面。
按一下
「建立匯流排」。在「Create a bus」(建立匯流排) 頁面中執行下列操作:
- 輸入「匯流排名稱」。這是巴士的 ID。
- 選用:輸入「匯流排顯示名稱」,這個名稱會顯示在「匯流排詳細資料」頁面。
- 在「Region」(區域) 清單中,選取要部署匯流排的支援區域。
- 在「記錄嚴重性」清單中,選取記錄項目所描述事件的最低嚴重性。預設值為「無」。詳情請參閱「
LogSeverity
」一文。 - 針對「Encryption」(加密選項),請接受預設值 Google-managed encryption key,或是選取「Cloud KMS key」(Cloud KMS 金鑰)。詳情請參閱「使用客戶自行管理的加密金鑰 (CMEK)」。
如果選取「Cloud KMS 金鑰」,請執行下列操作:
在「金鑰類型」清單中,選取金鑰管理方法。
您可以手動管理金鑰,也可以使用 Autokey 視需要產生金鑰環和金鑰。如果「使用 Autokey 的 Cloud KMS」選項停用,表示尚未與目前的資源類型整合。
在「選取 Cloud KMS 金鑰」中,選取金鑰。
請注意,您必須先選取區域,才能查看客戶自行管理的金鑰。
選用:如要手動輸入金鑰的資源名稱,請在「選取客戶管理的金鑰」清單中,按一下「手動輸入金鑰」,然後以指定格式輸入金鑰名稱。
如果系統提示,請將
cloudkms.cryptoKeyEncrypterDecrypter
角色授予 Eventarc 服務代理。
選用:如要新增訊息來源,請按一下
「新增來源」。- 在「新增訊息來源」窗格中,針對 Google API 訊息提供者,接受預設的
google-api-source
或輸入其他來源名稱。 點選「建立」。
啟用這項功能後,系統會自動收集直接來自 Google 來源的事件。
請注意,只有與匯流排位於同一 Google Cloud專案的資源事件會發布。詳情請參閱「從 Google 來源發布事件」。
- 在「新增訊息來源」窗格中,針對 Google API 訊息提供者,接受預設的
選用:如要新增標籤,請按一下 什麼是標籤?」一文。
「新增標籤」。標籤是鍵/值組合,可協助您整理Google Cloud 資源。詳情請參閱「
點選「建立」。
gcloud
開啟終端機。
使用
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
,設定記錄檔項目中事件的最低嚴重程度。必須是下列其中一個值: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」(刪除)。系統提示刪除匯流排時,請選取「要繼續嗎?」核取方塊,確認設為使用該匯流排的所有訊息來源都會停止運作。
如要確認刪除,請輸入
Delete
。點選「刪除」。
gcloud
開啟終端機。
使用
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 }