核准工作
核准工作可讓您設定以核准為基礎的整合。您也可以控管整合流程。
您可以使用「核准」工作,將核准要求電子郵件傳送給一或多位整合使用者。電子郵件中會附上整合項目的連結,使用者可以手動核准或拒絕要求。
在整合作業執行期間,當控制權到達「核准」工作時,執行作業會停止,且「核准」工作之後的所有工作都會暫停。只有在使用者透過 Google Cloud 控制台或使用 API 核准或拒絕核准要求時,整合才會繼續執行。
核准工作可用於下列用途:
- 根據使用者核准或拒絕,暫停及分支整合。
- 在指定時間內暫停整合。
- 做為中斷點,用於偵錯整合。
比較核准工作、暫停工作和計時器工作
這三項工作 (核准、暫停和計時器) 的功能類似,都是暫停及繼續執行整合。不過,兩者之間仍有細微差異。下表說明這三項工作的差異。
| 審核工作 | 暫停工作 | 計時器工作 |
|---|---|---|
| 當使用者在「整合」UI 中或使用 API 核准或拒絕要求時,系統會繼續執行。 | 支援手動和自動恢復整合。如果沒有手動介入撤銷暫停,整合會在暫停時間限制到期後自動恢復執行。 | 僅支援自動恢復整合。暫停時間限制到期後,系統會自動恢復執行整合。 |
可透過「整合」UI 或呼叫 suspensions.resolve 方法,繼續執行整合作業。請參閱「使用 API 核准或拒絕」。 |
可以呼叫 suspensions.lift 方法來繼續整合。 |
僅支援自動恢復整合。 |
| 整合功能暫停 (停權) 時,使用者會收到通知。 | 整合功能暫停 (停用) 時,使用者不會收到任何通知。 | 整合功能暫停 (停用) 時,使用者不會收到任何通知。 |
支援輸出變數 (布林值),可讓您在繼續執行整合前執行條件檢查。不過,輸出變數的值只能是 true 或 false。 |
支援輸出變數 (字串),可讓您在繼續執行整合前執行條件檢查。您可以為輸出變數設定任何值。 | 不支援任何輸出變數。 |
設定核准任務
如要設定「Approval」(核准) 工作,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Application Integration」頁面。
- 在導覽選單中,按一下「Integrations」(整合)。
「Integrations」(整合) 頁面隨即顯示,列出 Google Cloud 雲端專案中所有可用的整合項目。
- 選取現有整合項目,或按一下「Create integration」(建立整合項目) 建立新的整合項目。
如要建立新的整合:
- 在「Create Integration」(建立整合項目) 窗格中,輸入名稱和說明。
- 選取整合項目的區域。
- 選取整合作業的服務帳戶。您隨時可以透過整合工具列中的「 整合摘要」窗格,變更或更新整合項目的服務帳戶詳細資料。
- 點選「建立」。新建立的整合作業會在整合服務編輯器中開啟。
- 在整合編輯器導覽列中,按一下「Tasks」(工作),查看可用工作和連接器清單。
- 在整合服務編輯器中,按一下並放置「Approval」(核准) 任務元素。
- 在設計工具中,按一下「Approval」(核准) 任務元素,即可查看「Approval」(核准) 任務設定窗格。
- 使用工作的設定屬性設定顯示的欄位,詳情請參閱下表。
系統會自動儲存對屬性所做的所有變更。
設定屬性
下表說明「Approval」(核准) 工作的設定屬性。
| 屬性 | 資料類型 | 說明 |
Recipients
|
字串陣列 | 工作暫停時,系統會傳送通知至這些電子郵件地址。輸入多個電子郵件地址,並以半形逗號分隔。 |
Custom notification message
|
String | 工作暫停時,電子郵件通知中要包含的自訂訊息。值可以是常值或變數。如果自訂訊息位於變數中,請按一下 VAR 並選取變數。 |
Reminder frequency (in hours)
|
整數 | 提醒通知的頻率。
如果停權狀態尚未解決,您可以傳送電子郵件提醒通知,要求授權使用者解決停權問題。 |
Time until expiration (in hours)
|
整數 | 停權時間範圍。
如果未在期限內解決停權問題,系統預設會拒絕停權。 |
On expiration
|
Boolean | 停權到期後要採取的動作。 您可以選擇拒絕或解除停權。根據預設,系統會拒絕停權。 |
isApproved (Approval)
|
Boolean | 輸出變數,含有解決後的停權狀態。
如果暫停要求獲准, |
使用 API 回應核准要求
如要核准或拒絕待處理的核准要求,但不使用 Google Cloud 控制台,請呼叫 projects.locations.integrations.executions.suspensions.resolve 方法。
如要核准或拒絕要求,您必須具備 integrations.suspensions.resolve 權限。如要列出停權項目,您也必須具備 integrations.suspensions.list 權限。Application Integration 核准者 (roles/integrations.suspensionResolver) 角色和 Application Integration 管理員 (roles/integrations.integrationAdmin) 角色都具備這兩項權限。
如果整合作業使用「執行身分」服務帳戶,請將服務帳戶使用者 (roles/iam.serviceAccountUser) 角色授予該服務帳戶。這項規定將在授予服務帳戶使用者所述的推出作業進行時生效。
- 如要找出待處理的要求,請使用
projects.locations.integrations.executions.suspensions.list方法列出執行作業的暫停狀態:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions"在回應中,找出
taskId為核准任務 ID 且state為PENDING的暫停。回應也包含來自「暫停」工作和同一執行作業中其他「核准」工作的暫停。請記下停權的name,其結尾為停權 ID。 - 如要核准或拒絕要求,請呼叫
suspensions.resolve方法:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "suspension": { "eventExecutionInfoId": "EXECUTION_ID", "integration": "INTEGRATION_NAME", "taskId": "TASK_ID", "state": "STATE" } }' \ "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions/SUSPENSION_ID:resolve"
更改下列內容:
PROJECT_ID: Google Cloud 專案的 ID。LOCATION:整合項目的區域。INTEGRATION_NAME:整合項目的名稱。EXECUTION_ID:暫停執行的 ID。TASK_ID:核准工作的 ID (停權的taskId)。SUSPENSION_ID:停權 ID,取自停權的name。STATE:解決狀態。使用LIFTED核准要求 (將isApproved設為true),或使用REJECTED拒絕要求 (將isApproved設為false)。
錯誤處理策略
工作錯誤處理策略會指定工作因暫時性錯誤而失敗時,應採取的動作。如要瞭解如何使用錯誤處理策略,以及各種錯誤處理策略,請參閱「錯誤處理策略」。
配額與限制
如要瞭解配額和限制,請參閱「配額與限制」。