

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

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

Amazon SWF 支援標記工作流程執行。這一點在擁有許多資源時特別實用。

Amazon SWF 支援使用最多五個標籤來標記工作流程執行。每個標籤都是任意形式的字串，而且最長可能為 256 個字元。如果您想要使用標籤，則必須在啟動工作流程執行時指派它們。您無法在啟動工作流程執行之後將標籤新增至工作流程執行，也無法編輯或移除已指派給工作流程執行的標籤。

IAM 支援根據標籤控制對 Amazon SWF 網域的存取。若要根據標籤控制存取，請在 IAM 政策的條件 (condition) 元素中，提供您標籤的資訊。

## 管理標籤
<a name="manage-tags"></a>

使用 AWS SDKs 或直接與 Amazon SWF API 互動來管理 Amazon Simple Workflow Service 標籤。使用 API，您可以在註冊網域時新增標籤、列出現有網域的標籤，以及新增或刪除現有網域的標籤。

**注意**  
每個資源限制為 50 個標籤。請參閱[Amazon SWF 的一般帳戶配額](swf-dg-limits.md#swf-dg-limits-general)
+ [https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterDomain.html)
+ [https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListTagsForResource.html](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_ListTagsForResource.html)
+ [https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TagResource.html](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TagResource.html)
+ [https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UntagResource.html](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UntagResource.html)

如需詳細資訊[使用 Amazon SWF APIs](swf-dg-using-swf-api.md)，請參閱 和 [Amazon Simple Workflow Service API 參考](https://docs.aws.amazon.com/amazonswf/latest/apireference/)。

## 標記工作流程執行
<a name="swf-dg-tagging"></a>

使用 Amazon SWF，您可以將標籤與工作流程執行建立關聯，然後根據這些標籤查詢工作流程執行。您可以在使用可見性操作時篩選 listi。透過仔細選取您指派給執行的標籤，您可以使用它們來提供有意義的清單。

例如，假設您執行數個履行中心。透過標籤，您可以列出特定履行中心發生的程序。或者，如果客戶轉換不同類型的媒體檔案，標籤可能會在轉換視訊、音訊和影像檔案時指出不同的程序。

在您使用 `StartWorkflowExecution` 動作、`StartChildWorkflowExecution` 決策或 `ContinueAsNewWorkflowExecution` 決策來啟動工作流程執行時，最多可以將五個標籤關聯至這些工作流程執行。當您使用可見性動作來列出或計數工作流程執行時，您可以根據標籤篩選結果。

**使用標記**

1. 設計標記策略。請考量您的商業需求，並建立對您有意義的標籤清單。判斷哪些執行會取得哪些標籤。即使最多可以將五個標籤指派給執行，您的標籤程式庫還是可以有任意數目的標籤。因為每個標籤可以是任意字串值，最長可達 256 個字元，所以標籤幾乎可以描述任何商業概念。

1. 在您建立執行時，標記執行的上限為最多五個標籤。

1. 透過使用 `ListOpenWorkflowExecutions`、、 `ListClosedWorkflowExecutions`和 `CountClosedWorkflowExecutions`動作指定 *tagFilter* 參數`CountOpenWorkflowExecutions`，列出或計算以特定標籤標記的執行。動作將根據指定的標籤來篩選執行。

當您建立標籤與工作流程執行的關聯時，標籤便與該執行建立永久的關聯，無法予以移除。

您只能在具有 `ListWorkflowExecutions` 的 `tagFilter` 參數中指定一個標籤。另外，標籤比對區分大小寫，因此只會傳回完全相符的項目結果。

假設您已設定如下標記的兩個執行。


****  

| 執行名稱 | 指派的標籤 | 
| --- | --- | 
| Execution-One |  Consumer, 2011-February  | 
| Execution-Two |  Wholesale, 2011-March  | 

您可以篩選 `ListOpenWorkflowExecutions` 對於 Consumer (消費者) 標籤所傳回的執行清單。`oldestDate` 和 `latestDate` 值指定為 [Unix 時間](https://en.wikipedia.org/wiki/Unix_time)值。

```
https://swf.us-east-1.amazonaws.com
  RespondDecisionTaskCompleted
  {
    "domain":"867530901",
    "startTimeFilter":{
        "oldestDate":1262332800,
        "latestDate":1325348400
    },
    "tagFilter":{
      "tag":"Consumer"
      }
  }
```

## 使用標籤控制對網域的存取
<a name="swf-dg-tagging-iam"></a>

您可以在 IAM 中參考與 Amazon SWF 網域相關聯的標籤，以控制對 Amazon Simple Workflow Service 網域的存取。

例如，您可以限制 Amazon SWF 網域，其中包含具有 金鑰`environment`和 值`production`的標籤，條件如下：

```
"Condition": {
    "StringEquals": {"aws:ResourceTag/environment": "production"}
}
```

如需詳細資訊，請參閱：
+ [使用 IAM 標籤控制存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)
+ [標籤類型政策](tag-based-policies.md)