

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

# 标记 Amazon DocumentDB 资源
<a name="tagging"></a>

您可以使用 Amazon DocumentDB（与 MongoDB 兼容）标签将元数据添加到 Amazon DocumentDB 资源。这些标签可与 AWS Identity and Access Management (IAM) policy 结合使用，以管理对 Amazon DocumentDB 资源的访问并控制可将什么操作应用于资源。您还可以将具有类似标签的资源的费用分组在一起，使用标签来跟踪成本。

您可以标记以下 Amazon DocumentDB 资源：
+ 集群
+ 实例
+ 快照
+ 集群快照
+ 参数组
+ 集群参数组
+ 安全组
+ 子网组

## Amazon DocumentDB 资源标签概述
<a name="tagging-overview"></a>

Amazon DocumentDB 标签是由您定义的名称-值对，与某种 Amazon DocumentDB 资源关联。此名称也叫*键*。为键提供值为可选操作。可使用标签向 Amazon DocumentDB 资源分配任意信息。例如，您可以使用标签键定义一个类别，而标签值可以是该类别中的一个项目。例如，定义 `project` 的标签键和 `Salix` 的标签值 ，表示将 Amazon DocumentDB 资源分配给 Salix 项目。您也可以使用标签通过 `environment=test` 或 `environment=production` 等键指定 Amazon DocumentDB 资源用于测试或生产。我们建议使用一组具有一致性的标签键，以使跟踪与 Amazon DocumentDB 资源关联的元数据变得更轻松。

您也可以使用标签来组织您的 AWS 账单，使其反映您的成本结构。要执行此操作，请注册以获取包含标签键值的 AWS 账户账单。然后，如需查看组合资源的成本，请按有同样标签键值的资源组织您的账单信息。例如，您可以将特定的应用程序名称用作几个资源的标签，然后组织账单信息，以查看在数个服务中的使用该应用程序的总成本。有关更多信息，请参阅*AWS账单和成本管理用户指南*中的[使用成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

每个 Amazon DocumentDB 资源都有一组标签，其中包含分配给该资源的所有标签。一个标签集可以包含多达 10 个标签，也可以为空。如果给 Amazon DocumentDB 资源添加一个标签，而该标签的键与资源上某个现有的标签相同，则新值覆盖旧值。

AWS 不会对您的标记应用任何语义意义；所有标记都会严格地作为字符串进行解析。Amazon DocumentDB 可以在实例或其他 Amazon DocumentDB 资源上设置标签，具体取决于您创建资源时使用的设置。例如，Amazon DocumentDB 可能添加一个标签来指示实例用于生产或测试。

您可以将标签添加到快照中，但您的账单不会反映此分组。

您可以使用 AWS 管理控制台 或 AWS CLI 添加、列出和删除 Amazon DocumentDB 资源上的标签。使用 AWS CLI 时，必须提供要使用的资源的 Amazon 资源名称 (ARN)。有关 Amazon DocumentDB ARN 的更多信息，请参阅 [了解亚马逊 DocumentDB 亚马逊资源名称 () ARNs](documentdb-arns.md)。

## 标签约束
<a name="tagging-constraints"></a>

以下约束适用于 Amazon DocumentDB 标签：
+ 每个资源的最大标签数 - 10
+ 最大**键**长度 - 128 个 Unicode 字符
+ 最大**值**长度 - 256 个 Unicode 字符
+ **键**和**值**的有效字符 - UTF-8 字符集中的大写和小写字母、位、空格及以下字符：`_ . : / = + -` 和 `@` (Java regex: `"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"`)
+ 标签键和值区分大小写。
+ 前缀 `aws:` 无法用于标签键或值；将其保留供 AWS 使用。

## 为 Amazon DocumentDB 资源添加和更新标签
<a name="tagging-add"></a>

使用 AWS 管理控制台 或 AWS CLI，您最多可以向资源添加 10 个标签。

------
#### [ Using the AWS 管理控制台 ]

无论您将标签添加到哪个资源，向资源添加标签的过程都是相似的。在本示例中，您向集群添加标签。

**要使用控制台向集群添加标签或更新标签**

1. 登录到 AWS 管理控制台 并打开 Amazon DocumentDB 控制台，网址：[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. 从导航窗格中，选择**集群**。

1. 选择要将标签添加到的集群的名称。

1. 向下滚动到**标签**部分，然后选择 **编辑**。

1. 对于每个要添加到此资源的标签，请执行以下操作：

   1. 要添加新标签，请在**值**框中输入标签的名称。要更改标签的值，请在**值**列中找到标签的名称。

   1. 要赋予标签新建或更新的值，在**值**框中，为标签输入一个值。

   1. 如果要添加多个标签，请选择**添加**。否则，完成后，选择**保存**。

------
#### [ Using the AWS CLI ]

无论您将标签添加到哪个资源，向资源添加标签的过程都是相似的。在本示例中，您向集群添加三个标签。第二个标签 `key2` 没有值。

使用带有这些参数的 AWS CLI 操作 `add-tags-to-resource`。

**参数**
+ **--resource-name** — 要将标签添加到的 Amazon DocumentDB 资源的 ARN。
+ **--tags** — 要添加到格式为 `Key=key-name,Value=tag-value` 的此资源的标签（键/值对）的列表。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws docdb add-tags-to-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tags Key=key1,Value=value1 Key=key2 Key=key3,Value=value3
```
对于 Windows：  

```
aws docdb add-tags-to-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tags Key=key1,Value=value1 Key=key2 Key=key3,Value=value3
```

此 `add-tags-to-resource` 操作不会生成任何输出。要查看操作结果，请使用 `list-tags-for-resource` 操作。

------

## 列出 Amazon DocumentDB 资源上的标签
<a name="tagging-list"></a>

您可以使用 AWS 管理控制台 或 AWS CLI 获取 Amazon DocumentDB 资源的标签列表。

------
#### [ Using the AWS 管理控制台 ]

无论您将标签添加到哪个资源，在资源上列出标签的过程都是相似的。在本示例中，您为集群列出标签。

**要使用控制台列出集群上的标签**

1. 通过以下网址打开 Amazon DocumentDB 控制台：[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)

1. 从导航窗格中，选择**集群**。

1. 选择要为之列出标签的集群的名称。

1. 要查看此资源上的标签列表，向下滚动到**标签**部分。

------
#### [ Using the AWS CLI ]

无论您为哪个资源列出标签，在资源上列出标签的过程都是相似的。在本示例中，您在集群上列出标签。

使用带有这些参数的 AWS CLI 操作 `list-tags-for-resource`。

**参数**
+ **--resource-name** – 必填项。您要列出其标签的 Amazon DocumentDB 资源的 ARN。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws docdb list-tags-for-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster
```
对于 Windows：  

```
aws docdb list-tags-for-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster
```

此操作的输出将类似于下文（JSON 格式）。

```
{
    "TagList": [
        {
            "Key": "key1",
            "Value": "value1"
        },
        {
            "Key": "key2",
            "Value": ""
        },
        {
            "Key": "key3",
            "Value": "value3"
        }
    ]
}
```

------

## 从 Amazon DocumentDB 资源中删除标签
<a name="tagging-remove"></a>

可以使用 AWS 管理控制台 或 AWS CLI 从 Amazon DocumentDB 资源中删除标签。

------
#### [ Using the AWS 管理控制台 ]

无论您将标签添加到哪个资源，从资源中删除标签的过程都是相似的。在本示例中，您从集群中删除标签。

**使用控制台从集群中删除标签**

1. 通过以下网址打开 Amazon DocumentDB 控制台：[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)

1. 从导航窗格中，选择**集群**。

1. 选择要从中删除标签的集群的名称。

1. 向下滚动到**标签**部分，然后选择 **编辑**。

1. 如果您要从该资源中删除所有标签，请选择 **Remove all （删除所有）**。否则，对于每个要从此资源删除的标签，请执行以下操作：

   1. 查找**键**列中的标签的名称。

   1. 在同一行上选择**删除**作为标签值。

   1. 完成后，选择**保存**。

------
#### [ Using the AWS CLI ]

无论您从哪个资源删除标签，从资源中删除标签的过程都是相似的。在本示例中，您从集群中删除标签。

使用带有这些参数的 AWS CLI 操作 `remove-tags-from-resource`。
+ **--resource-name** – 必填项。要从中删除标签的 Amazon DocumentDB 资源的 ARN。
+ **--tag-keys** – 必填项。要从此资源中删除的标签值列表。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws docdb remove-tags-from-resource \
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tag-keys key1 key3
```
对于 Windows：  

```
aws docdb remove-tags-from-resource ^
    --resource-name arn:aws:rds:us-east-1:1234567890:cluster:sample-cluster \
    --tag-keys key1 key3
```

此 `removed-tags-from-resource` 操作不会生成任何输出。要查看操作结果，请使用 `list-tags-for-resource` 操作。

------