

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

# Amazon SWF 中的標記
<a name="swf-dev-adv-markers"></a>

有時候，您會想要將您使用案例中所使用的特定工作流程之資訊，記錄到工作流程歷史記錄中。標記能夠讓您將可供任何自訂或藍本專屬用途的資訊，記錄到工作流程執行歷史記錄中。

若要使用標記，決策者會使用 RecordMarker 決策、命名標記、將所需資料附加至決策，並使用 `RespondDecisionTaskCompleted`動作通知 Amazon SWF。Amazon SWF 會接收請求、在工作流程歷史記錄中記錄標記，並在請求中制定任何其他決策。自此以後，決策者可以在工作流程歷史記錄中看到標記，並以您所設計的方式使用之。

記錄標記本身並不會啟動決策任務。為了防止工作流程執行停頓，必須發生某個事項，以持續執行工作流程。例如，這可能包含決策者排程另一個活動任務、工作流程執行接收訊號，或完成先前已排程的活動任務。

標記範例如下：
+ 計算遞迴工作流程中迴圈數目的計數器。
+ 根據活動結果的工作流程執行進度。
+ 從先前工作流程歷史記錄事件摘要說明的資訊。

在電子商務範例中，您可以新增活動，每天檢查庫存量，並每次增加標記中的計數。接著，您可以新增決策邏輯，將電子郵件傳送給客戶，或在計數超過五時通知經理，而不需要檢閱整個歷史記錄。

在下列範例中，決策者完成決策任務，並回應包含 `RecordMarker` 決策的 `RespondDecisionTaskCompleted` 動作。

```
https://swf.us-east-1.amazonaws.com
RespondDecisionTaskCompleted
{
  "taskToken":"12342e17-80f6-FAKE-TASK-TOKEN32f0223",
  "decisions":[{
          "decisionType":"RecordMarker",
          "recordMarkerDecisionAttributes":{
              "markerName":"customer elected special shipping offer"
          }
      },
  ]
}
```

如果 Amazon SWF 成功記錄標記，則會傳回類似以下內容的成功 HTTP 回應。

```
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/json
x-amzn-RequestId: 6c0373ce-074c-11e1-9083-8318c48dee96
```