
# 示例六：配置VPC资源标签
#### 操作场景
本章节指导用户通过调用API来配置和管理VPC的资源标签，包含标签的创建、查询和删除。
#### 前提条件
已创建VPC，并获取VPC的ID，具体请参见[创建VPC和子网](https://support.huaweicloud.com/api-cce/cce_02_0100.html)。
当您使用Token认证方式完成认证鉴权时，需要获取用户Token并在调用接口时增加"X-Auth-Token"到业务接口请求消息头中。Token认证，具体操作请参考[认证鉴权](https://support.huaweicloud.com/api-vpc/vpc_api00_0010.html)。
![](https://support.huaweicloud.com/api-vpc/public_sys-resources/note_3.0-zh-cn.png)
通过IAM服务获取到的Token有效期为24小时，需要使用同一个Token鉴权时，可以先将Token缓存，避免频繁调用。
#### 操作步骤
1. 创建某个VPC的单个标签。
   1. 发送"POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags"，project_id为项目ID，vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中创建单个标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数如下。
      ```
      {
          "tag": {
              "key": "key-test",
              "value": "value-test"
          }
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，无响应消息，可以通过[查询VPC资源标签](https://support.huaweicloud.com/api-vpc/vpc_tag_0002.html)查看结果，详见第2步。
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    

2. 查询某个VPC的所有标签。
   1. 发送"GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags"，project_id为项目ID，vpc_id为VPC ID。 此接口可以查询vpc_id所指的VPC的所有标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 查看请求响应结果。
      - 请求成功时，响应消息如下，可以看到第1步创建的tag，同时响应消息中的tags是列表类型，可能包含多个tag。
        ```
        {
            "tags": [
                {
                    "key": "key-test",
                    "value": "value-test"
                }
            ]
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
3. 删除某个VPC的单个标签。
   1. 发送"DELETE https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/{key}"，project_id为项目ID，vpc_id为VPC ID，key为待删除标签的键值。 此接口可以在vpc_id所指的VPC中指定删除某个标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 查看请求响应结果。
      - 请求成功时，无响应消息，可以通过[查询VPC资源标签](https://support.huaweicloud.com/api-vpc/vpc_tag_0002.html)查看标签是否被删除，详见第2步。
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
4. 批量创建某个VPC的多个标签。
   1. 发送"POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action"，project_id为项目ID，vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中创建多个标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数如下，创建标签时指定action为create。
      ```
      {
          "action": "create",
          "tags": [
              {
                  "key": "key-1",
                  "value": "value-1"
              },
              {
                  "key": "key-2",
                  "value": "value-2"
              }
          ]
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，无响应消息，可以通过[查询VPC资源标签](https://support.huaweicloud.com/api-vpc/vpc_tag_0002.html)查看结果，详见第2步。
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
5. 批量删除某个VPC的多个标签。
   1. 发送"POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action"，project_id为项目ID，vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中删除多个标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数如下，删除标签时指定action为delete。
      ```
      {
          "action": "delete",
          "tags": [
              {
                  "key": "key-1",
                  "value": "value-1"
              },
              {
                  "key": "key-2",
                  "value": "value-2"
              }
          ]
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，无响应消息，可以通过[查询VPC资源标签](https://support.huaweicloud.com/api-vpc/vpc_tag_0002.html)查看结果，详见第2步。
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
6. 用标签过滤查询VPC资源实例详情。
   1. 发送"POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action"，project_id为项目ID。 此接口可以指定标签作为过滤条件过滤查询VPC实例详情。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数如下，过滤查询标签详情时指定action为filter。
      ```
      {
          "action": "filter",
          "limit": 100,
          "offset": 0,
          "matches": [
              {
                  "key": "resource_name",
                  "value": "vpc"
              }
          ],
          "tags": [
              {
                  "key": "key-1",
                  "values": [
                      "value-1"
                  ]
              }
          ]
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，响应消息如下。
        ```
        {
            "resources": [
                {
                    "resource_name": "vpc-jhc-test",
                    "resource_id": "992ad4b2-35c1-4f8a-8dd0-caf8a7a7ec03",
                    "resource_detail": "",
                    "tags": [
                        {
                            "key": "key-1",
                            "value": "value-1"
                        },
                        {
                            "key": "key-2",
                            "value": "value-2"
                        },
                        {
                            "key": "key-test",
                            "value": "value-test"
                        }
                    ]
                }
            ],
            "total_count": 1
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
7. 用标签过滤查询VPC资源实例数量。
   1. 发送"POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action"，project_id为项目ID。 此接口可以指定标签作为过滤条件过滤查询VPC实例数量。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 在Request Body中传入参数如下，过滤查询标签详情时指定action为count。
      ```
      {
          "action": "count",
          "matches": [
              {
                  "key": "resource_name",
                  "value": "vpc"
              }
          ],
          "tags": [
              {
                  "key": "key-1",
                  "values": [
                      "value-1"
                  ]
              }
          ]
      }
      ```
      
   
   4. 查看请求响应结果。
      - 请求成功时，响应消息如下。
        ```
        {
            "total_count": 1
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
8. 查询租户在指定区域的所有VPC标签。
   1. 发送"GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/tags"，project_id为项目ID。 此接口可以查询租户在指定区域的所有VPC标签。
      
   
   2. 在Request Header中增加"X-Auth-Token"。
   
   3. 查看请求响应结果。
      - 请求成功时，响应消息如下。
        ```
        {
            "tags": [
                {
                    "key": "key-1",
                    "values": [
                        "value-1"
                    ]
                },
                {
                    "key": "key-2",
                    "values": [
                        "value-2"
                    ]
                },
                {
                    "key": "key-test",
                    "values": [
                        "value-test"
                    ]
                }
            ]
        }
        ```
        
      
      - 请求异常时，错误码请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
       
    
 
