标签 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

标签

Amazon SWF 支持对工作流执行加标签。这在您拥有许多资源时尤其有用。

Amazon SWF 支持为一个工作流执行添加最多加五个标签。每个标签都是自由格式的字符串,长度最多为 256 个字符。如果您想使用标签,您必须在启动工作流执行时分配标签。工作流程执行启动之后不能向其增加标签,也不能编辑或删除已分配给工作流执行的标签。

IAM 支持根据标签控制对 Amazon SWF 域的访问。要基于标签控制访问,请在 IAM 策略的条件元素中提供有关您的标签的信息。

管理标签

使用软件开发工具包或直接与 Amazon Amazon SWF API 交互来管理亚马逊简单工作流程服务标签。通过使用 API,您可以在注册域时添加标签,列出现有域的标签,以及添加或删除现有域的标签。

注意

每个资源最多有 50 个标签。请参阅 Amazon SWF 的一般账户限额

有关更多信息,请参阅 使用 Amazon SWF API 以及 Amazon Simple Workflow Service API Reference

标记工作流程执行

借助 Amazon SWF,您可以将标签与工作流程执行关联起来,然后根据这些标签查询工作流程执行情况。当你使用可见性操作时,你可以筛选列表。通过仔细选择分配给执行的标签,您可以使用它们来提供有意义的清单。

举例来说,假设您在运行多个订单履行中心。使用标签,您可以列出特定运营中心发生的流程。或者,如果客户正在转换不同类型的媒体文件,则标签可能表示转换视频、音频和图像文件时的不同过程。

在您使用 StartWorkflowExecution 操作、StartChildWorkflowExecution 决策或者 ContinueAsNewWorkflowExecution 决策开始执行时,您最多可以将五个标签与工作流程执行关联起来。当您使用可见性操作列出或计算工作流程执行次数时,您可以根据标签筛选结果。

若要使用加标签
  1. 修改加标签策略。考虑您的业务要求并创建一列对您有意义的标签。决定哪种执行获得哪种标签。虽然一种执行最多能分配五个标签,但您的标签库中可以有任何数量的标签。由于每种标签可以是长度最多为 256 个字符的任何字符串值,标签几乎可以描述所有的业务理念。

  2. 在您创建执行时,给执行最多加上五个标签。

  3. ListOpenWorkflowExecutionsListClosedWorkflowExecutions 操作指定 CountOpenWorkflowExecutionstagFilterCountClosedWorkflowExecutions 参数,从而列出或计数加有特定标签的执行。该操作将根据指定的标签筛选执行。

将标签与工作流执行关联时,标签与该执行永久关联,且不可删除。

您可以在带 ListWorkflowExecutionstagFilter 参数中只指定一个标签。同时,标签匹配区分大小写,只有完全匹配才能返回结果。

假设您已经建立了两个加有以下标签的执行。

执行名称 分配的标签

第一次执行

消费者,2011 年 2 月

第二次执行

批发,2011 年 3 月

您可以筛选由消费者标签上的 ListOpenWorkflowExecutions 返回的执行列表。oldestDatelatestDate 值被指定为 Unix Time 值。

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

使用标签控制对域名的访问权限

您可以通过在 IAM 中引用与 Amazon SWF 域关联的标签来控制对 Amazon Simple Workflow Service 域的访问。例如,您可以限制包含密钥为、值为production:的标签的域名 environment

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "swf:*", "Resource": "arn:aws:swf:*:123456789012:/domain/*", "Condition": { "StringEquals": {"aws:ResourceTag/environment": "production"} } } ] }

此策略将Deny访问任何已标记为 environment/production 的域。

有关更多信息,请参阅: