标记私有存储库 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

标记私有存储库

为了帮助您管理您的 Amazon ECR 存储库,您可以选择通过 Amazon 资源标签的形式为每个存储库分配您自己的元数据。本主题介绍 Amazon 资源标签并演示如何创建标签。

有关标签的基本知识

标签是为 Amazon 资源分配的标记。每个标签都由组成,这两个参数都由您定义。

标签可让您按各种标准 (例如用途、所有者或环境) 对 Amazon 资源进行分类。这在您拥有许多同类型资源时很有用 - 您可以根据分配给资源的标签快速识别特定资源。例如,您可以为账户的 Amazon ECR 存储库定义一组标签以帮助您跟踪每个存储库的拥有者。

我们建议您设计一组满足您的需求的标签键。使用一组连续的标签键,管理资源时会更加轻松。您可以根据添加的标签搜索和筛选资源。

标签对 Amazon ECR 没有任何语义意义,应严格按字符串进行解析。同时,标签不会自动分配至您的资源。您可以修改标签的密钥和值,还可以随时删除资源的标签。您可以将标签的值设为空的字符串,但是不能将其设为空值。如果您添加的标签的值与该实例上现有标签的值相同,新的值就会覆盖旧值。如果删除资源,资源的所有标签也会被删除。

可以使用 Amazon Web Services Management Console、Amazon CLI 和 Amazon ECR API 处理标签。

如果您使用的是 Amazon Identity and Access Management (IAM),则可以控制 Amazon 账户中的哪些用户拥有创建、编辑或删除标签的权限。

给资源加标签

您可以标记新的或现有的 Amazon ECR 存储库。

如果您使用的是 Amazon ECR 控制台,则可以在创建新资源时对其应用标签,或随时在导航窗格上使用标签选项对现有资源应用标签。

如果您使用的是 Amazon ECR API、Amazon CLI 或 Amazon 开发工具包,则可以使用 CreateRepository API 操作上的 tags 参数对新存储库应用标签,或使用 TagResource API 操作对现有资源应用标签。有关更多信息,请参阅 TagResource

此外,如果无法在存储库创建期间应用标签,则系统将回滚存储库创建过程。这样可确保创建带有标签的存储库,或根本不创建存储库,以及确保任何时候都不创建未标记的存储库。通过在创建时标记存储库,您不需要在存储库创建后运行自定义标记脚本。

标签限制

下面是适用于标签的基本限制:

  • 每个存储库的最大标签数 – 50

  • 对于每个存储库,每个标签键都必须是唯一的,每个标签键只能有一个值。

  • 最大键长度 – 128 个 Unicode 字符 (采用 UTF-8 格式)

  • 最大值长度 – 256 个 Unicode 字符 (采用 UTF-8 格式)

  • 如果您的标记模式针对多个服务和资源使用,请记得其它服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、数字和空格,以及以下字符:+ - = . _ : / @。

  • 标签键和值区分大小写。

  • 请不要对键或值使用 aws: 前缀;它保留供 Amazon 使用。您无法编辑或删除带此前缀的标签键或值。具有此前缀的标签不计入每个资源的标签数限制。

标记资源以便于计费

您为 Amazon ECR 存储库添加的标签在成本和使用率报告中启用标签后查看成本分配时非常有帮助。有关更多信息,请参阅 Amazon ECR 用量报告

如需查看组合资源的成本,请按具有相同标签键值的资源组织您的账单信息。例如,您可以将特定的应用程序名称用作几个资源的标签,然后组织账单信息,以查看在数个服务中的使用该应用程序的总成本。有关设置带有标签的成本分配报告的更多信息,请参阅 Amazon Billing 用户指南中的月度成本分配报告

注意

如果您已启用报告,则可以在 24 小时后查看当月的数据。

通过控制台使用标签

通过使用 Amazon ECR 控制台,您可以管理与新的或现有的存储库关联的标签。

当您在 Amazon ECR 控制台中选择特定存储库时,可通过在导航窗格中选择标签来查看标签。

要将标签条件到存储库 (Amazon Web Services Management Console)
  1. 打开位于 https://console.aws.amazon.com/ecr/ 的 Amazon ECR 控制台。

  2. 从导航栏中,选择要使用的区域。

  3. 在导航窗格中,选择存储库

  4. 存储库页面上,选中要标记的存储库旁边的复选框。

  5. 操作菜单中,选择存储库标签

  6. 存储库标签页面上,选择添加标签添加标签

  7. 编辑存储库标签页面上,为每个标签指定键和值,然后选择保存

要从单个资源中删除标签 (Amazon Web Services Management Console)
  1. 打开位于 https://console.aws.amazon.com/ecr/ 的 Amazon ECR 控制台。

  2. 从导航栏中,选择要使用的区域。

  3. 存储库页面上,选中要从中删除标签的存储库旁边的复选框。

  4. 操作菜单中,选择存储库标签

  5. 存储库标签页面上,选择编辑

  6. 编辑存储库标签页面上,选择要删除的每个标签对应的删除,然后选择保存

通过 Amazon CLI 或 API 使用标签

使用以下命令添加、更新、列出和删除资源标签。相应文档提供了示例。

Amazon ECR 资源标记支持
任务 Amazon CLI API 操作

添加或覆盖一个或多个标签。

tag-resource

TagResource

删除一个或多个标签。

untag-resource

UntagResource

以下示例演示如何使用 Amazon CLI 管理标签。

示例 1:标记现有存储库

以下命令标记现有存储库。

aws ecr tag-resource \ --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \ --tags Key=stack,Value=dev
示例 2:使用多个标签标记现有存储库

以下命令标记现有存储库。

aws ecr tag-resource \ --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \ --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3
示例 3:取消标记现有存储库

以下命令删除现有存储库的标签。

aws ecr untag-resource \ --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \ --tag-keys tag_key
示例 4:列出存储库的标签

以下命令列出与现有存储库关联的标签。

aws ecr list-tags-for-resource \ --resource-arn arn:aws:ecr:region:account_id:repository/repository_name
示例 5:创建存储库并应用标签

以下命令创建一个名为 test-repo 的存储库并添加键为 team、值为 devs 的标签。

aws ecr create-repository \ --repository-name test-repo \ --tags Key=team,Value=devs