您可以透過 Eventarc 觸發條件,在發生事件或一連串事件時執行工作流程。事件會從事件供應商轉送至相關的事件接收端。
Eventarc 會透過 HTTP 要求,以 CloudEvents 格式將事件傳送至事件接收器。Workflows 服務會將事件轉換為 JSON 物件 (遵循 CloudEvents 規格),並將事件做為工作流程執行階段引數傳遞至工作流程執行作業。
系統會觸發工作流程執行作業:
- 建立稽核記錄時,符合觸發條件的篩選條件。 舉例來說,請參閱這篇快速入門導覽課程,瞭解如何使用 Cloud 稽核記錄,透過 BigQuery 的事件觸發 Workflows。
- 回應直接事件,例如更新 Cloud Storage 值區或 Firebase Remote Config 範本。舉例來說,請參閱這篇快速入門導覽課程,瞭解如何透過 Cloud Storage 的直接事件觸發 Workflows。
- 發布至 Pub/Sub 主題的訊息。舉例來說,請參閱這篇快速入門導覽課程,瞭解如何使用 Pub/Sub 訊息觸發工作流程。
注意事項:
工作流程執行作業開始後,系統就會將事件視為已傳送,而實際執行作業則會在 Workflows 服務中以非同步方式進行。
如果工作流程執行作業是由事件觸發,但稍後失敗,系統不會重試。詳情請參閱「事件重試政策」。
工作流程的重複資料刪除時間範圍為 24 小時,確保事件只會處理一次。
如果使用 Workflows 做為 Eventarc 觸發條件的目的地,當事件大小超過 Workflows 引數大小上限時,系統將無法觸發工作流程執行作業。詳情請參閱「配額與限制」。
在受服務安全防護範圍保護的專案中,將事件路由至 Pub/Sub 推送端點設為 Workflows 執行的 Workflows 目的地時,您只能透過 Eventarc 建立新的 Pub/Sub 推送訂閱項目。請注意,用於 Workflows 端點推送驗證的服務帳戶必須納入服務範圍。詳情請參閱「使用 VPC Service Controls 設定服務範圍」。
使用 Google Cloud CLI 建立觸發條件
您可以執行 gcloud eventarc triggers create
指令,並搭配必要和選用標記來建立觸發條件。
如需更多資訊,請參閱「建立觸發條件」一節中的 gcloud 指示,瞭解如何為特定供應商、事件類型和 Workflows 目的地建立觸發條件。
使用控制台建立觸發條件
下列步驟說明如何在 Google Cloud 控制台的「Workflows」頁面建立觸發條件。
事前準備
-
Enable the Eventarc and Pub/Sub APIs.
建立服務帳戶,讓 Eventarc 可以對 Workflows API 發出要求:
前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
選取專案,然後按一下「建立服務帳戶」。
在「Service account name」(服務帳戶名稱) 欄位中,輸入長度介於 6 到 30 個字元的名稱。
可使用小寫英數字元和破折號,建立服務帳戶後,即無法變更名稱。
按一下「建立並繼續」。
將 workflows.invoker 角色授予新服務帳戶,讓該帳戶有權觸發工作流程。在「Select a role」(選取角色) 清單中,依序選取「Workflows」>「Workflows Invoker」(工作流程叫用者)。
如果您要開發正式版應用程式,請務必授予權限最少的角色。詳情請參閱「管理專案、資料夾和機構的存取權」。
按一下 [完成]。
如要允許執行 Eventarc 指令的主體以身分與存取權管理 (IAM) 服務帳戶的身分操作,請授予主體可模擬服務帳戶的角色。
設定觸發條件
如果沒有要觸發的工作流程,請建立並部署一個。
前往 Google Cloud 控制台的「Workflows」頁面:
在「工作流程」頁面中選取工作流程,前往詳細資料頁面。
在「Workflow Details」(工作流程詳細資料) 頁面中,按一下 edit「Edit」(編輯)。
在「Edit workflow」(編輯工作流程) 頁面,依序選取「Add new trigger」(新增觸發條件) >「Eventarc」。
「Eventarc trigger」(Eventarc 觸發條件) 窗格隨即開啟。
按照操作說明為特定供應商、事件類型和目的地建立觸發條件Workflows ,然後參閱「建立觸發條件」一節中的控制台操作說明。
選取叫用工作流程的服務帳戶。
這會指定您先前授予
workflows.invoker
角色的 IAM 服務帳戶,讓該帳戶有權觸發工作流程。按一下「儲存觸發條件」。
Eventarc 觸發條件會列在「工作流程詳細資料」頁面的「觸發條件」分頁中。
如要更新或刪除觸發條件,請編輯工作流程:
- 在「Workflow Details」(工作流程詳細資料) 頁面中,按一下 edit「Edit」(編輯)。
- 在「觸發條件」部分中,找出要更新或刪除的觸發條件。
- 按一下 edit「編輯資源」或 delete「刪除資源」。
現在,只要事件符合觸發條件的篩選條件,就會觸發工作流程執行作業。
使用 Terraform 建立觸發條件
您可以使用 Terraform 建立工作流程的觸發條件。詳情請參閱「使用 Eventarc 和 Terraform 觸發工作流程」。