

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

# 标记您的资源 AWS Cloud Map
<a name="using-tags"></a>

标签是您分配给 AWS 资源的标签。每个标签都包含定义的一个*键* 和一个可选*值*。

标签使您可以按用途、所有者或环境等对 AWS 资源进行分类。在具有相同类型的许多资源时，可以根据分配给资源的标签快速识别具体的资源。例如，您可以为 AWS Cloud Map 服务定义一组标签，以帮助您跟踪每项服务的所有者和堆栈级别。我们建议为每个资源类型设计一组一致的标签键。

标签不会自动分配至资源。添加标签后，可以编辑标签键和值，还可以随时删除资源的标签。如果删除资源，资源的所有标签也会被删除。

标签没有任何语义含义， AWS Cloud Map 并且严格解释为字符串。可以将标签的值设为空的字符串，但是不能将其设为空值。如果添加的标签的键与该资源上现有标签的键相同，新值就会覆盖旧值。

您可以使用 AWS 管理控制台 AWS CLI、和 AWS Cloud Map API 处理标签。

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

## 如何为资源添加标签
<a name="tag-resources"></a>

您可以标记新的或现有的 AWS Cloud Map 命名空间和服务。

如果您使用的是 AWS Cloud Map 控制台，则可以在创建新资源时将标签应用于新资源，也可以随时使用相关资源页面上的**标签**选项卡对现有资源应用标签。

如果您使用的是 AWS Cloud Map API AWS CLI、或 AWS SDK，则可以使用相关 API 操作上的`tags`参数将标签应用于新资源，也可以使用 API 操作将标签应用于[TagResource](https://docs.aws.amazon.com/cloud-map/latest/api/API_TagResource.html)现有资源。有关更多信息，请参阅 [TagResource](https://docs.aws.amazon.com/cloud-map/latest/api/API_TagResource.html)。

某些资源创建操作允许在创建资源时为其指定标签。如果无法在资源创建期间应用标签，资源创建过程失败。这可确保对于要在创建时加标签的资源，要么使用指定的标签创建，要么完全不创建。如果在创建时对资源加标签，则无需在资源创建后运行自定义对脚本加标签。

下表描述了 AWS Cloud Map 可以标记的资源以及在创建时可以标记的资源。


**为资源添加标签支持 AWS Cloud Map**  

| 资源 | 支持标签 | 支持标签传播 | 支持在创建时添加标签（AWS Cloud Map API、 AWS CLI、 AWS SDK） | 
| --- | --- | --- | --- | 
|  AWS Cloud Map 命名空间  |  是  | 否。命名空间标签不传播到与命名空间关联的任何其他资源。 |  是  | 
|  AWS Cloud Map 服务  |  是  | 否。服务标签不传播到与服务关联的任何其他资源。 |  是  | 

## Restrictions
<a name="tag-restrictions"></a>

下面是适用于标签的基本限制：
+ 每个资源的最大标签数 – 50
+ 对于每个资源，每个标签键都必须是唯一的，每个标签键只能有一个值。
+ 最大键长度 – 128 个 Unicode 字符（采用 UTF-8 格式）
+ 最大值长度 – 256 个 Unicode 字符（采用 UTF-8 格式）
+ 如果您的标记架构用于多个 AWS 服务和资源，请记住，其他服务可能对允许的字符有限制。通常允许使用的字符包括可用 UTF-8 格式表示的字母、数字和空格，以及以下字符：\$1 - = . \$1 : / @。
+ 标签键和值区分大小写。
+ 请勿使用`aws:``AWS:`、或任何大写或小写组合，例如键或值的前缀，因为它是保留供 AWS 使用的。无法编辑或删除带此前缀的标签键或值。带有此前缀的标签不计入您的 tags-per-resource限制。

# 更新 AWS Cloud Map 资源的标签
<a name="tag-resources-api-sdk"></a>

使用以下 AWS CLI 命令或 AWS Cloud Map API 操作为您的资源添加、更新、列出和删除标签。


**为资源添加标签支持 AWS Cloud Map**  

| Task | API 操作 | AWS CLI | AWS Tools for Windows PowerShell | 
| --- | --- | --- | --- | 
|  添加或覆盖一个或多个标签。  |  [TagResource](https://docs.aws.amazon.com/cloud-map/latest/api/API_TagResource.html)  |  [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/tag-resource.html)  |  [添加-SDResource 标签](https://docs.aws.amazon.com/powershell/v4/reference/items/Add-SDResourceTag.html)  | 
|  删除一个或多个标签。  |  [UntagResource](https://docs.aws.amazon.com/cloud-map/latest/api/API_UntagResource.html)  |  [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/untag-resource.html)  |  [移除-SDResource 标签](https://docs.aws.amazon.com/powershell/v4/reference/items/Remove-SDResourceTag.html)  | 
| 列出资源的标签 |  [ListTagsForResource](https://docs.aws.amazon.com/cloud-map/latest/api/API_ListTagsForResource.html)  |  [list-tags-for-resource](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/list-tags-for-resource.html)  |  [获取-SDResource 标签](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-SDResourceTag.html)  | 

以下示例说明如何使用 AWS CLI给资源加标签或取消标签。

**示例 1：对现有资源加标签**  
以下命令对现有资源加标签。

```
aws servicediscovery tag-resource --resource-arn resource_ARN --tags team=devs
```

**示例 2：对现有资源取消标签**  
以下命令删除现有资源的标签。

```
aws servicediscovery untag-resource --resource-arn resource_ARN --tag-keys tag_key
```

**示例 3：列出资源的标签**  
以下命令列出与现有资源关联的标签。

```
aws servicediscovery list-tags-for-resource --resource-arn resource_ARN
```

某些资源创建操作允许在创建资源时指定标签。以下操作支持在创建时加标签。


| Task | API 操作 | AWS CLI | AWS Tools for Windows PowerShell | 
| --- | --- | --- | --- | 
| 创建 HTTP 命名空间 | [CreateHttpNamespace](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateHttpNamespace.html) | [create-http-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-http-namespace.html) | [新-SDHttp 命名空间](https://docs.aws.amazon.com/powershell/v4/reference/items/New-SDHttpNamespace.html) | 
| 基于 DNS 创建私有命名空间 | [CreatePrivateDnsNamespace](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreatePrivateDnsNamespace.html) | [create-private-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-private-dns-namespace.html) | [新-SDPrivate DnsNamespace](https://docs.aws.amazon.com/powershell/v4/reference/items/New-SDPrivateDnsNamespace.html) | 
| 基于 DNS 创建公有命名空间 | [CreatePublicDnsNamespace](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreatePublicDnsNamespace.html) | [create-public-dns-namespace](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-public-dns-namespace.html) | [新-SDPublic DnsNamespace](https://docs.aws.amazon.com/powershell/v4/reference/items/New-SDPublicDnsNamespace.html) | 
| 创建服务 | [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html) | [create-service](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-service.html) | [新-SDService](https://docs.aws.amazon.com/powershell/v4/reference/items/New-SDService.html) | 