暫停工作

「Suspend」(暫停) 工作可讓您暫時停止執行整合,然後再繼續執行。

在整合作業執行期間,當控制項到達暫停任務時,執行作業會停止,且暫停任務之後的所有任務都會暫停。發生下列任一事件時,整合作業會繼續執行:

  • 指定的停權時間到期。
  • 收到 Suspensions API 的繼續執行要求後。

您也可以為「暫停」工作設定輸出變數 (「暫停結果」),並將其設為任何值,然後使用該值建立分支條件,以便執行下游工作。

比較核准工作、暫停工作和計時器工作

這三項工作 (核准、暫停和計時器) 的功能類似,都是暫停及繼續執行整合。不過,兩者之間仍有細微差異。下表說明這三項工作的差異。

審核工作 暫停工作 計時器工作
當使用者在「整合」UI 中或使用 API 核准或拒絕要求時,系統會繼續執行。 支援手動和自動恢復整合。如果沒有手動介入撤銷暫停,整合會在暫停時間限制到期後自動恢復執行。 僅支援自動恢復整合。暫停時間限制到期後,系統會自動恢復執行整合。
可透過「整合」UI 或呼叫 suspensions.resolve 方法,繼續執行整合作業。請參閱「使用 API 核准或拒絕」。 可以呼叫 suspensions.lift 方法來繼續整合。 僅支援自動恢復整合。
整合功能暫停 (停權) 時,使用者會收到通知。 整合功能暫停 (停用) 時,使用者不會收到任何通知。 整合功能暫停 (停用) 時,使用者不會收到任何通知。
支援輸出變數 (布林值),可讓您在繼續執行整合前執行條件檢查。不過,輸出變數的值只能是 true 或 false。 支援輸出變數 (字串),可讓您在繼續執行整合前執行條件檢查。您可以為輸出變數設定任何值。 不支援任何輸出變數。

設定暫停工作

如要設定「Suspend」工作,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Application Integration」頁面。

    前往 Application Integration

  2. 在導覽選單中,按一下「Integrations」(整合)。

    「Integrations」(整合) 頁面隨即顯示,列出 Google Cloud 雲端專案中所有可用的整合項目。

  3. 選取現有整合項目,或按一下「Create integration」(建立整合項目) 建立新的整合項目。

    如要建立新的整合:

    1. 在「Create Integration」(建立整合項目) 窗格中,輸入名稱和說明。
    2. 選取整合項目的區域。
    3. 選取整合作業的服務帳戶。您隨時可以透過整合工具列中的「 整合摘要」窗格,變更或更新整合項目的服務帳戶詳細資料。
    4. 點選「建立」。新建立的整合作業會在整合服務編輯器中開啟。

  4. 在整合編輯器導覽列中,按一下「Tasks」(工作),查看可用工作和連接器清單。
  5. 在整合服務編輯器中,按一下並放置「Suspend」(暫停) 任務元素。
  6. 在設計工具中,按一下「Suspend」(暫停) 任務元素,即可查看「Suspend」(暫停) 任務設定窗格。
  7. 使用工作的設定屬性設定其餘欄位,詳情請參閱下表。

    系統會自動儲存對屬性所做的所有變更。

設定屬性

下表說明「Suspend」工作的設定屬性。

屬性 資料類型 說明
Suspension Time 整數 整合執行作業必須暫停的時間 (以分鐘為單位)。時間上限為 44640 分鐘 (31 天),這也是預設值。

如果整合執行作業未在指定時間限制內恢復,整合會在時間限制到期後自動恢復執行,並將 Suspension result 變數的值設為 Expired。

Suspension result String 用於儲存暫停工作結果的變數。您可以選擇是否要為這個變數設定值。您可以根據需求,將這個變數設為任何值。如要進一步控管整合項目的執行流程,這個變數就非常實用。舉例來說,您可以讀取暫停結果,並根據任何下游任務中的值設定條件式決策。
Suspension Id 字串 暫停工作的專屬 ID。系統會在整合作業暫停後,立即設定這個變數的值。您可以在整合 UI 的執行記錄頁面中取得 ID 值。如果您使用 API 觸發整合作業,也可以從 API 的回應物件取得 ID 值。

您可以使用暫停 ID 或整合項目的執行 ID 繼續執行整合項目。

使用 Suspensions API 撤銷停權

Suspensions API 可讓您透過 API 呼叫撤銷停權。如要使用 Suspensions API 撤銷暫停,您必須具備整合的執行 ID 或暫停工作的暫停 ID。如要撤銷停權,您必須向下列 API 發出 POST 要求:

https://REGION-integrations.googleapis.com/v1/{name=projects/PROJECT/locations/LOCATION/integrations/INTEGRATION_ID/executions/EXECUTION_ID/suspensions/SUSPENSION_ID}:lift
    

在這個 API 中,INTEGRATION_ID 為選用項目。不過,您必須提供 EXECUTION_ID 或 SUSPENSION_ID。如果沒有任何 ID 值,可以改用 -。在這個 API 中,REGION、PROJECT 和 LOCATION 是必填欄位。

撤銷暫停後,整合執行作業會恢復,並執行「暫停」工作後的下游工作。

以下範例說明如何使用 suspensions API 撤銷停權。

範例 1:僅使用停權 ID 撤銷停權

下列 curl 指令說明如何在只有停權 ID 的情況下撤銷停權:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"Approved"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/-/suspensions/c6a13a79-a918-41e2-82b9-32b5a010755a:lift

在這個範例中,Suspension result 變數設為 Approved,停權 ID 為 c6a13a79-a918-41e2-82b9-32b5a010755a。

範例 2:僅使用執行 ID 撤銷暫停

下列 curl 指令說明如何在只有執行 ID 的情況下撤銷暫停:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"true"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/76a391e7-c801-45d7-8046-eab20d167ec5/suspensions/-:lift

在這個範例中,執行 ID 76a391e7-c801-45d7-8046-eab20d167ec5 的 Suspension result 變數設為 true。

範例 3:使用執行 ID 和停權 ID 撤銷停權

下列 curl 指令說明如何在同時擁有執行 ID 和暫停 ID 時撤銷暫停:

  curl -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -H X-GFE-SSL: yes \
  -X POST \
  -d '{"suspension_result":"{processname: "Release", owner: "John", status: "approved"};"}' \
  https://us-east1-integrations.googleapis.com/v1/projects/demo-project/locations/us-east1/integrations/-/executions/9b721baa-0a23-4576-b2b6-d251d163ea6f/suspensions/f01815bf-ed18-4e01-9d41-cc2ce7861e95:lift

在這個範例中,Suspension result 變數設為 {processname: "Release", owner: "John", status: "approved"};,暫停 ID 為 f01815bf-ed18-4e01-9d41-cc2ce7861e95。

錯誤處理策略

工作錯誤處理策略會指定工作因暫時性錯誤而失敗時,應採取的動作。如要瞭解如何使用錯誤處理策略,以及各種錯誤處理策略,請參閱「錯誤處理策略」。

配額與限制

如要瞭解配額和限制,請參閱「配額與限制」。

後續步驟