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

开始之前

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

关于此任务

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

过程

  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 工作流的结果(如果有)。