本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的 Amazon EMR on EKS 资源添加标签
为了帮助您管理 Amazon EMR on EKS 资源,您可使用标签为每个资源分配您自己的元数据。本主题概览了标签功能,并说明如何创建标签。
有关标签的基本知识
标签是为Amazon资源分配的标记。每个标签都包含定义的一个键 和一个可选值。
标签可让您按用途、拥有者或环境等属性对Amazon资源进行分类。在具有相同类型的许多资源时,可以根据分配给资源的标签快速识别具体的资源。例如,您可以为 Amazon EMR on EKS 集群定义一组标签,以帮助您跟踪每个集群的拥有者和堆栈级别。我们建议为每个资源类型设计一组一致的标签键。然后,您可以根据添加的标签搜索和筛选资源。
标签不会自动分配至资源。添加标签后,可以编辑标签键和值,还可以随时删除资源的标签。如果删除资源,资源的所有标签也会被删除。
标签对 Amazon EMR on EKS 没有任何语义意义,应严格按字符串进行解析。
标签值可以是空字符串,但是不能是 null。标签的键不能是空字符串。如果您添加的标签的键与该资源上现有标签的键相同,则新值会覆盖旧值。
如果您使用的是 Amazon Identity and Access Management(IAM),则可以控制您的Amazon账户中的哪些用户拥有管理标签的权限。
有关基于标签的访问策略示例,请参阅基于标签的访问控制策略。
标记资源
您可以标记新的或现有的虚拟集群,以及处于活动状态的任务运行。任务运行的活动状态包括:PENDING
、SUBMITTED
、RUNNING
和 CANCEL_PENDING
。虚拟集群的活动状态包括:RUNNING
、TERMINATING
和 ARRESTED
。有关更多信息,请参阅任务运行状态和虚拟集群状态。
当虚拟集群终止时,将清除标签并且不再可访问。
如果您使用的是 Amazon EMR on EKS API、Amazon CLI 或 Amazon SDK,则可以使用相关 API 操作上的标签参数对新资源应用标签。您也可以通过使用 TagResource
API 操作将标签应用于现有资源。
您可使用某些创建资源操作,以在创建资源时为其指定标签。在这种情况下,如果在创建资源期间无法应用标签,则无法创建资源。此机制可确保对于您希望在创建时标记的资源,要么使用指定的标签创建,要么完全不创建。如果您在创建时标记资源,则无需在创建资源后运行自定义标记脚本。
下表描述了可以标记的 Amazon EMR on EKS 资源。
资源 | 支持标签 | 支持标签传播 | 支持在创建时添加标签(Amazon EMR on EKS API、Amazon CLI 和 Amazon SDK) | 创建 API(可以在创建过程中添加标签) |
---|---|---|---|---|
虚拟集群 | 是 | 否。与虚拟集群关联的标签不会传播到提交给该虚拟集群的任务运行。 | 是 | CreateVirtualCluster |
任务运行 | 是 | 否 | 是 | StartJobRun |
标签限制
下面是适用于标签的基本限制:
-
每个资源的标签数上限 – 50
-
对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值。
-
最大键长度 – 128 个 Unicode 字符(采用 UTF-8 格式)
-
最大值长度 – 256 个 Unicode 字符 (采用 UTF-8 格式)
-
如果标签方案针对多个Amazon服务和资源使用,请记得其它服务可能对允许使用的字符有限制。通常允许使用的字符包括可用 UTF-8 格式表示的字母、数字和空格,以及以下字符:+ - = . _ : / @。
-
标签键和值区分大小写。
-
标签值可以是空字符串,但是不能是 null。标签的键不能是空字符串。
-
请不要使用
aws:
、AWS:
或任何大写或小写组合(例如,键或值的前缀)。这些字符串保留供Amazon使用。
使用 Amazon CLI 和 Amazon EMR on EKS API 的标签
使用以下 Amazon CLI 命令或 Amazon EMR on EKS API 操作来添加、更新、列出和删除资源的标签。
任务 | Amazon CLI | API 操作 |
---|---|---|
添加或覆盖一个或多个标签 | tag-resource | TagResource |
列出资源的标签 | list-tags-for-resource | ListTagsForResource |
删除一个或多个标签 | untag-resource | UntagResource |
以下示例说明如何使用Amazon CLI给资源加标签或取消标签。
示例 1:标记现有虚拟集群
以下命令标记现有虚拟集群。
aws emr-containers tag-resource --resource-arn
resource_ARN
--tagsteam
=devs
示例 2:取消标记现有虚拟集群
以下命令从现有虚拟集群删除标签。
aws emr-containers untag-resource --resource-arn
resource_ARN
--tag-keystag_key
示例 3:列出资源的标签
以下命令列出与现有资源关联的标签。
aws emr-containers list-tags-for-resource --resource-arn
resource_ARN