
# 批量添加或删除资源标签 - AddingorDeletingResourceTagsinBatches
#### 功能介绍
批量添加或删除指定数据库实例的标签。
#### 接口约束
该接口支持如下数据库实例：
- GeminiDB Cassandra
- GeminiDB Mongo
- GeminiDB Influx
- GeminiDB Redis
一个数据库实例具有20个标签配额，且标签key唯一。
添加标签时，如果请求体中存在重复key，调用该接口将会报错。
添加标签时，如果请求体中的key与指定实例已有的key重复，将会覆盖已有key对应的value的值。
如果待删除的标签不存在，调用该接口将默认处理成功，删除时，不对标签字符集范围做校验。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforNoSQL&api=BatchTagAction)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-nosql/nosql_05_0023.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                              | 访问级别    | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                              | 别名                 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | gaussdbfornosql:instance:setTags | tagging | instance \* | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | nosql:instance:tag | -      |
     
  
 
#### URI
POST /v3/{project_id}/instances/{instance_id}/tags/action
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一region下的project ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-nosql/nosql_projectid.html)。 **约束限制：** 不涉及。 **取值范围：** 长度为32个字符，仅由英文字母和数字组成。 **默认取值：** 不涉及。     |
| instance_id | 是    | String | **参数解释：** 实例ID。可以调用[查询实例列表和详情 - QueryingInstancesandDetails](https://support.huaweicloud.com/api-nosql/nosql_05_0016.html)接口获取。如果未申请实例，可以调用[创建实例 - CreatinganInstance](https://support.huaweicloud.com/api-nosql/nosql_05_0014.html)接口创建。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| action | 是    | String                                                                                       | **参数解释：** 操作标识。 **约束限制：** 不涉及。 **取值范围：** - create：表示添加标签。  - delete：表示删除标签。   **默认取值：** 不涉及。 |
| tags   | 是    | Array of [BatchTagActionTagOption] objects | **参数解释：** 标签列表。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                  |
   
 表4BatchTagActionTagOption 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释：** 标签键。 **约束限制：** 最大长度128个unicode字符，不能为null或者空字符串，不能为空格，校验和使用之前会自动过滤掉前后空格。字符集：0-9，A-Z，a-z，"_"，"-"，中文。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                      |
| value | 否    | String | **参数解释：** 标签值。 **约束限制：** 最大长度255个unicode字符，可以为空字符串。字符集：0-9，A-Z，a-z，"_"，"."，"-"，中文。 - "action"值为"create"时，该参数必选。  - "action"值为"delete"时，该参数可选。   说明： 删除标签时，如果value有值，则按照key/value匹配删除；如果value没有值，则按照key删除。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码：200**
无响应参数。
#### 请求示例
- 添加2个标签
  ```
  POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances/9136fd2a9fcd405ea4674276ce36dae8in02/tags/action
  {
    "action" : "create",
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    }, {
      "key" : "key2",
      "value" : "value2"
    } ]
  }
  ```
  
- 删除2个标签
  ```
  POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances/9136fd2a9fcd405ea4674276ce36dae8in02/tags/action
  {
    "action" : "delete",
    "tags" : [ {
      "key" : "key1"
    }, {
      "key" : "key2",
      "value" : "value3"
    } ]
  }
  ```
  
 
#### 响应示例
**状态码： 200**
Success
```
{ }
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-nosql/nosql_status_code.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-nosql/nosql_error_code.html)。
