Amazon Simple Workflow Service
开发人员指南 (API 版本 2012-01-25)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

利用 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 会返回工作流程执行的 runIdrunId 唯一标识此工作流程执行,用以将其与目前在 Amazon SWF 下运行的任何其他工作流程执行区分开来。请保存 runId,以便日后需要在 Amazon SWF 调用中指定此工作流程执行时使用。例如,如果您以后需要发送信号至工作流程执行中,您将使用 runId

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