

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon SWF 中啟動工作流程
<a name="swf-dg-start-workflow-exec"></a>

您可以使用 `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` 如果您稍後需要在對 Amazon SWF 的呼叫中指定此工作流程執行，請儲存 。例如，如果您稍後需要將訊號傳送給工作流程執行，則會使用 `runId`。

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