使用 Amazon SWF 启动工作流程执行 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon SWF 启动工作流程执行

您可以利用 StartWorkflowExecution 操作从任何应用程序中启动已注册工作流程类型的工作流程执行。启动执行时,您将被称为 workflowId 标识符与执行相关联。workflowId 可以是适用于您的应用程序的任何字符串,如订单中处理应用程序的订单号码。同一个 workflowId 不能用于同一个域中多个已开启工作流程执行。例如,如果您用workflowId Customer Order 01 启动两个工作流程执行,则第二个工作流程执行不会启动且请求会失败。但是,您可以将workflowId已关闭的执行。Amazon SWF 还关联了一个唯一的系统生成的标识符,称为runId,每个工作流程执行时使用。

注册完工作流程和活动类型之后,通过调用 StartWorkflowExecution 操作启动工作流程。input 参数的值可以是启动工作流程所用应用程序指定的任何字符串。executionStartToCloseTimeout 是工作流程执行从启动到关闭所消耗的时长,以秒为单位。超出这个范围会导致工作流程执行超时。与 Amazon SWF 中的某些其他超时参数不同,您不能指定NONE;工作流程执行可运行的最大时长限制是一年。同样,taskStartToCloseTimeout 指的是与此工作流程执行相关的决策任务在超时之前可花费的时间,以秒为单位。

https://swf.us-east-1.amazonaws.com StartWorkflowExecution { "domain" : "867530901", "workflowId" : "20110927-T-1", "workflowType" : { "name" : "customerOrderWorkflow", "version" : "1.1" }, "taskList" : { "name" : "specialTaskList" }, "input" : "arbitrary-string-that-is-meaningful-to-the-workflow", "executionStartToCloseTimeout" : "1800", "tagList" : [ "music purchase", "digital", "ricoh-the-dog" ], "taskStartToCloseTimeout" : "1800", "childPolicy" : "TERMINATE" }

如果StartWorkflowExecution操作成功时,Amazon SWF 将返回runId用于工作流程执行。工作流程执行的 runId 在特定区域内是唯一的。保存runId,以便日后需要在调用中指定此工作流程执行时使用。例如,如果您以后需要发送信号至工作流程执行中,您将使用 runId

{"runId": "9ba33198-4b18-4792-9c15-7181fb3a8852"}