您可以為特定 Eventarc Advanced 匯流排啟用或停用 Google 來源事件收集和發布功能。
來自 Google 來源的事件會直接由未經過中介的事件觸發,例如建立 Cloud Run 函式或變更 Dataflow 工作狀態。詳情請參閱「Eventarc 支援的 Google 事件類型」。
注意事項:
- 每個 Google Cloud 專案限制只能有一個
GoogleApiSource
資源。 - 您只能在
GoogleApiSource
資源所在的 Google Cloud 專案中發布 Google 來源事件。 - 您可以將事件發布至不同於
GoogleApiSource
資源所在 Google Cloud 專案的匯入器。您可以使用 gcloud CLI 或向 Eventarc API 傳送要求來設定這項功能。
啟用 Google 來源事件
如要發布 Google 來源的事件,您必須建立 GoogleApiSource
資源。這個資源代表特定 Eventarc Advanced 匯流排在特定 Google Cloud 專案中訂閱 Google API 事件。
您可以透過下列方式啟用 Google 來源事件發布功能:
- 在 Google Cloud 控制台
- 在終端機或 Cloud Shell 中使用 Google Cloud CLI
傳送要求至 Eventarc API
控制台
gcloud
開啟終端機。
您可以使用
gcloud beta eventarc google-api-sources create
指令啟用 Google 來源事件:gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
更改下列內容:
GOOGLE_API_SOURCE_NAME
:GoogleApiSource
資源的 ID 或完整修飾識別碼,代表特定匯流排的 Google API 事件訂閱BUS_NAME
:您要訂閱 Google API 事件的匯入資料 ID 或完整修飾符識別碼BUS_PROJECT_ID
:匯入資料的 Google Cloud 專案 ID
選用:您也可以使用下列標記:
--async
立即從指令傳回,不必等待進行中的作業完成。--crypto-key
可用來指定客戶管理的加密金鑰的完整名稱;如果未指定,系統會使用 Google-owned and managed keys 。--logging-config
用於設定記錄層級,必須是下列其中一個:NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。詳情請參閱LogSeverity
。
REST API
如要啟用 Google 來源的事件,請使用 projects.locations.googleApiSources.create
方法。
使用任何要求資料之前,請先替換以下項目:
GOOGLE_API_SOURCE_NAME
:代表特定匯流程 (例如my_google_source
) 的 Google API 事件訂閱項目的GoogleApiSource
資源顯示名稱。LABEL_KEY
和LABEL_VALUE
:選用。標籤鍵/值組合對應表,可協助您整理 Google Cloud 資源。詳情請參閱「什麼是標籤?」ANNOTATION_KEY
和ANNOTATION_VALUE
:選用。包含自由格式文字的註解鍵和值組合對應表。您可以使用這些屬性,附加與資源相關的任意資訊。詳情請參閱「註解」。DESTINATION
:Eventarc Advanced 匯流排的完整修飾 ID,Google 來源事件應以projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
格式發布。詳情請參閱「建立匯流程來轉送訊息」。ENCRYPT_KEY
:選用。GoogleApiSource
資源應使用 Cloud KMS 金鑰,以projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
格式加密資料。詳情請參閱「使用客戶管理的加密金鑰」。PROJECT_ID
:用於建立GoogleApiSource
資源的 Google Cloud專案 ID。LOCATION
:建立GoogleApiSource
資源的支援區域,例如us-central1
。LOG_SEVERITY
:選用。記錄項目描述的事件最低嚴重性。只能設為以下任一種:NONE
、DEBUG
、INFO
、NOTICE
、WARNING
、ERROR
、CRITICAL
、ALERT
、EMERGENCY
。預設為NONE
。詳情請參閱LogSeverity
。
JSON 要求主體:
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "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/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
系統現在會收集來自 Google 來源的事件,這些事件來自與 GoogleApiSource
資源相同的 Google Cloud 專案,並發布至匯流。
停用 Google 來源事件
如要停用特定Google Cloud 專案中 Google 來源事件的發布作業,以便將事件發布至 Eventarc Advanced 匯流排,您必須刪除 GoogleApiSource
資源。
您可以透過下列方式停用 Google 來源事件的發布功能:
- 在 Google Cloud 控制台
- 在終端機或 Cloud Shell 中使用 gcloud CLI
傳送要求至 Eventarc API
控制台
在 Google Cloud 控制台中,依序前往「Eventarc」>「Bus details」(公車詳細資料) 頁面。
按一下「編輯」圖示
。如要刪除 Google API 訊息提供者,請在「Edit bus」頁面中,按一下
「google-api-source」訊息來源 (或您指定的名稱) 旁的「Delete resource」。在「Delete resource」提示訊息中,按一下「Confirm」。
按一下 [儲存]。
gcloud
開啟終端機。
您可以使用
gcloud beta eventarc google-api-sources delete
指令停用 Google 來源的事件:gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \ --location=REGION
更改下列內容:
GOOGLE_API_SOURCE_NAME
:GoogleApiSource
資源的 ID 或完整修飾識別碼REGION
:GoogleApiSource
資源的位置
REST API
如要停用 Google 來源的事件,請使用 projects.locations.googleApiSources.delete
方法。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:建立GoogleApiSource
資源的 Google Cloud 專案 ID。LOCATION
:建立GoogleApiSource
資源的區域,例如us-central1
。GOOGLE_API_SOURCE_NAME
:您要刪除的GoogleApiSource
資源名稱。
如要傳送要求,請展開以下其中一個選項:
如果成功,回應主體會包含新建立的 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/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
系統不會再收集及發布與已刪除的 GoogleApiSource
資源同屬於 Google Cloud 專案的 Google 來源事件。