如果要以异步方式调用 vRealize Orchestrator 工作流并在以后检索已完成的工作流的结果,您可以使用 WaitForVcoWorkflowCompletion 活动。

关于此任务

vRealize Orchestrator 工作流已完成或超时之前,WaitForVcoWorkflowCompletion 活动将阻止执行 IaaS 工作流。如果 vRealize Orchestrator 工作流已成功完成,此活动将返回其结果;如果该工作流失败,则返回错误;如果该工作流超时,则返回空值。

先决条件

调用 vRealize Orchestrator 工作流使用 InvokeVcoWorkflowAsync 活动。

过程

  1. vRealize Automation Designer 中,打开已在其中使用 InvokeVcoWorkflowAsync 活动的工作流。
  2. 导航到要从中检索 vRealize Orchestrator 工作流的结果的上下文。
  3. WaitForVcoWorkflowCompletion 活动拖动到“设计器”窗格中。
  4. 在“属性”窗格中,在 VirtualMachineId. 中指定表示虚拟机 ID 的变量名称。

    可自定义工作流包含默认命名为 virtualMachineId 的变量,此变量在初始化期间设置。

  5. 创建类型为 DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken 的变量。
  6. 创建类型为 DynamicOps.VcoModel.Common.VcoWorkflowExecutionToken 的变量。
  7. 指定令牌变量的名称作为 InvokeVcoWorkflowAsync 活动的 executionToken 输出参数。
  8. 指定同一变量名称作为 WaitForVcoWorkflowCompletion 活动的 WorkflowExecutionToken 属性。
  9. 检索 vRealize Orchestrator 工作流的输出。
    1. 创建类型为 DynamicOps.VcoModel.Common.VcoWorkflowExecutionResult 的变量。
    2. 指定结果变量的名称作为 WaitForVcoWorkflowCompletion 活动的 WorkflowOutput 属性。

      当工作流运行时,变量的值设置为 vRealize Orchestrator 工作流的结果(如果有)。