若您想要非同步地呼叫 vRealize Orchestrator 工作流程,然後在稍後的某個時刻擷取已完成的工作流程的結果,可以使用 WaitForVcoWorkflowCompletion 活動。

開始之前

使用 InvokeVcoWorkflowAsync 活動呼叫 vRealize Orchestrator 工作流程

執行這項作業的原因和時機

WaitForVcoWorkflowCompletion 活動會封鎖 IaaS 工作流程的執行,直到 vRealize Orchestrator 工作流程完成或達到逾時。若 vRealize Orchestrator 工作流程成功完成,活動會傳回該工作流程的結果,若該工作流程失敗,活動會傳回錯誤,若該工作流程逾時,活動會傳回空值。

程序

  1. vRealize Automation Designer 中,開啟您已使用 InvokeVcoWorkflowAsync 活動的工作流程。
  2. 導覽至您想要擷取 vRealize Orchestrator 工作流程的結果的內容。
  3. WaitForVcoWorkflowCompletion 活動拖曳至 [設計工具] 窗格。
  4. 在 [內容] 窗格中,在 VirtualMachineId. 中指定代表虛擬機器識別碼的變數的名稱。

    可自訂工作流程包含初始化期間設定的依預設名為 virtualMachineId 的變數。

  5. 建立類型為 DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken 的變數。
  6. 建立類型為 DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken 的變數。
  7. 將 Token 變數的名稱指定為 InvokeVcoWorkflowAsync 活動上的 executionToken 輸出參數。
  8. 指定與 WaitForVcoWorkflowCompletion 活動的 WorkflowExecutionToken 內容相同的變數名稱。
  9. 擷取 vRealize Orchestrator 工作流程的輸出。
    1. 建立類型為 DynamicOps.VcoModel.Common.VcoWorkflowExecutionResult 的變數。
    2. 將結果變數的名稱指定為 WaitForVcoWorkflowCompletion 活動的 WorkflowOutput 內容。

      當工作流程執行時,變數的值將設定為 vRealize Orchestrator 工作流程的結果 (若存在)。