

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

# 为 Amazon OpenSearch 服务域名添加标签
<a name="managedomains-awsresourcetagging"></a>

标签允许您将任意信息分配给 Amazon S OpenSearch ervice 域，这样您就可以对这些信息进行分类和筛选。标签是您定义并与 OpenSearch 服务域关联的键值对。您可以使用这些标签通过对标签相似的资源的费用进行分组来跟踪成本。 AWS 不会对你的标签应用任何语义含义。标签严格按字符串进行解释。所有标签均包含以下元素：


| 标签元素 | 说明 | 必填 | 
| --- | --- | --- | 
| 标签键 |  标签键是标签的名称。密钥必须是与其关联的 OpenSearch 服务域所独有的。有关对标签键和值的基本限制的列表，请参阅[用户定义的标签限制](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)。  | 是 | 
| 标签值 |  标签值则是标签字符串值。标签值可为 `null`，且在标签集中不必具有唯一性。例如，您可以在标签集中使用键值对。project/Trinity and cost-center/Trinity有关对标签键和值的基本限制的列表，请参阅[用户定义的标签限制](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)。  | 否 | 

每个 OpenSearch 服务域都有一个标签集，其中包含分配给该 OpenSearch 服务域的所有标签。 AWS 不会自动为 OpenSearch 服务域分配任何标签。标签集可以包含 0 到 50 个标签。如果使用与现有标记相同的键向域添加标记，则新值将覆盖旧值。

## 标签示例
<a name="managedomains-awsresourcetagging-examples"></a>

您可以使用密钥定义类别，而值作为该类别中的项目。例如，您可以将标签键定义为`project`，标签值为`Salix`，表示 OpenSearch 服务域已分配给 Salix 项目。您也可以使用诸如或之类的密钥使用标签将 OpenSearch 服务域指定为用于测试`environment=test`或生产`environment=production`。尝试使用一组一致的标签密钥，以便更轻松地跟踪与 OpenSearch 服务域关联的元数据。

您还可以使用标签来整理 AWS 账单，以反映您自己的成本结构。为此，请注册以获取包含标签键值的 AWS 账户 账单。然后，如需查看组合资源的成本，请按有同样标签键值的资源组织您的账单信息。例如，您可以使用键值对标记多个 OpenSearch 服务域，然后整理账单信息以查看多个服务中每个域的总费用。有关更多信息，请参阅 [https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) 账单和成本管理*文档中的AWS 使用成本分配标签*。

**注意**  
对标签进行缓存以用于授权。因此，在 OpenSearch 服务域上添加和更新标签可能需要几分钟才能发布。

# 标记域（控制台）
<a name="managedomains-awsresourcetagging-console"></a>

控制台是标记域的最简单方法。

****创建标签（控制台）****

1. 转到 [https://aws.amazon.com](https://aws.amazon.com/ )，然后选择 **Sign In to the Console (登录控制台)**。

1. 在 “**分析**” 下，选择 “**亚马逊 OpenSearch 服务**”。

1. 选择您要将标签添加到的域，然后转到 **Tags（标签）**选项卡。

1. 选择 **Manage（管理）**和 **Add new tag（添加新标签）**。

1. 输入一个标签键和可选的值。

1. 选择**保存**。

要删除标签，请按照相同步骤操作并在 **Manage tags（管理标签）**页面中选择 **Remove（删除）**。

有关使用控制台处理标签的更多信息，请参阅《AWS 管理控制台入门指南》**中的[标签编辑器](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html)。

# 标记域（AWS CLI）
<a name="managedomains-awsresourcetagging-cli"></a>

您可以使用 AWS CLI 带**--add-tags**命令的创建资源标签。

**语法**

`add-tags --arn=<domain_arn> --tag-list Key=<key>,Value=<value>`


****  

| 参数 | 说明 | 
| --- | --- | 
| --arn | 附加标签的 OpenSearch 服务域的 Amazon 资源名称。 | 
| --tag-list | 采用以下格式设置空格分隔的键值对：Key=<key>,Value=<value> | 

**示例**

以下示例为 *logs* 域创建两个标签：

```
aws opensearch add-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-list Key=service,Value=OpenSearch Key=instances,Value=m3.2xlarge
```

您可以使用**--remove-tags**命令从 OpenSearch 服务域中移除标签。

**语法**

`remove-tags --arn=<domain_arn> --tag-keys Key=<key>,Value=<value>`


****  

| 参数 | 说明 | 
| --- | --- | 
| --arn | 附加标签的 OpenSearch 服务域的亚马逊资源名称 (ARN)。 | 
| --tag-keys | 要从服务域中移除的一组以空格分隔的键值对。 OpenSearch  | 

**示例**

以下示例从之前示例中创建的 *logs* 域中删除两个标签：

```
aws opensearch remove-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs --tag-keys service instances
```

您可以使用以下**--list-tags**命令查看 OpenSearch 服务域的现有标签：

**语法**

`list-tags --arn=<domain_arn>`


****  

| 参数 | 说明 | 
| --- | --- | 
| --arn | 附加标签的 OpenSearch 服务域的亚马逊资源名称 (ARN)。 | 

**示例**

以下示例列出了 *logs* 域的所有资源标签：

```
aws opensearch list-tags --arn arn:aws:es:us-east-1:379931976431:domain/logs
```

# 标记域（AWS SDKs）
<a name="managedomains-awsresourcetagging-sdk"></a>

 AWS SDKs （Android 和 iOS 除外 SDKs）支持《[亚马逊 OpenSearch 服务 API 参考](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html)》中定义的所有操作，包括`AddTags``ListTags`、和`RemoveTags`操作。有关安装和使用的更多信息 AWS SDKs，请参阅[AWS 软件开发套件](https://aws.amazon.com/code)。

## **Python**
<a name="pythonsample"></a>

此示例使用适用于 Python 的 AWS 开发工具包 (Boto) 中的[OpenSearchService](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html)低级 Python 客户端向域添加标签，列出附加到该域的标签，并从域中移除标签。必须提供 `DOMAIN_ARN`、`TAG_KEY` 和 `TAG_VALUE` 的值。

```
import boto3
from botocore.config import Config  # import configuration

DOMAIN_ARN = ''  # ARN for the domain. i.e "arn:aws:es:us-east-1:123456789012:domain/my-domain
TAG_KEY = ''  # The name of the tag key. i.e 'Smileyface'
TAG_VALUE = ''  # The value assigned to the tag. i.e 'Practicetag'

# defines the configurations parameters such as region

my_config = Config(region_name='us-east-1')
client = boto3.client('opensearch', config=my_config)


# defines the client variable

def addTags():
    """Adds tags to the domain"""

    response = client.add_tags(ARN=DOMAIN_ARN,
                               TagList=[{'Key': TAG_KEY,
                                         'Value': TAG_VALUE}])

    print(response)


def listTags():
    """List tags that have been added to the domain"""

    response = client.list_tags(ARN=DOMAIN_ARN)
    print(response)


def removeTags():
    """Remove tags that have been added to the domain"""

    response = client.remove_tags(ARN=DOMAIN_ARN, TagKeys=[TAG_KEY])

    print('Tag removed')
    return response
```