示例六:配置VPC资源标签
操作场景
本章节指导用户通过调用API来配置和管理VPC的资源标签,包含标签的创建、查询和删除。
前提条件
已创建VPC,并获取VPC的ID,具体请参见创建VPC和子网。
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权。
通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
操作步骤
- 创建某个VPC的单个标签。
- 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入参数如下。
{ "tag": { "key": "key-test", "value": "value-test" } }
- 查看请求响应结果。
- 查询某个VPC的所有标签。
- 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。
- 在Request Header中增加“X-Auth-Token”。
- 查看请求响应结果。
- 请求成功时,响应消息如下,可以看到第1步创建的tag,同时响应消息中的tags是列表类型,可能包含多个tag。
{ "tags": [ { "key": "key-test", "value": "value-test" } ] }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应消息如下,可以看到第1步创建的tag,同时响应消息中的tags是列表类型,可能包含多个tag。
- 删除某个VPC的单个标签。
- 批量创建某个VPC的多个标签。
- 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入参数如下,创建标签时指定action为create。
{ "action": "create", "tags": [ { "key": "key-1", "value": "value-1" }, { "key": "key-2", "value": "value-2" } ] }
- 查看请求响应结果。
- 批量删除某个VPC的多个标签。
- 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入参数如下,删除标签时指定action为delete。
{ "action": "delete", "tags": [ { "key": "key-1", "value": "value-1" }, { "key": "key-2", "value": "value-2" } ] }
- 查看请求响应结果。
- 用标签过滤查询VPC资源实例详情。
- 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入参数如下,过滤查询标签详情时指定action为filter。
{ "action": "filter", "limit": 100, "offset": 0, "matches": [ { "key": "resource_name", "value": "vpc" } ], "tags": [ { "key": "key-1", "values": [ "value-1" ] } ] }
- 查看请求响应结果。
- 请求成功时,响应消息如下。
{ "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 }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应消息如下。
- 用标签过滤查询VPC资源实例数量。
- 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。
- 在Request Header中增加“X-Auth-Token”。
- 在Request Body中传入参数如下,过滤查询标签详情时指定action为count。
{ "action": "count", "matches": [ { "key": "resource_name", "value": "vpc" } ], "tags": [ { "key": "key-1", "values": [ "value-1" ] } ] }
- 查看请求响应结果。
- 请求成功时,响应消息如下。
{ "total_count": 1 }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应消息如下。
- 查询租户在指定区域的所有VPC标签。
- 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/tags”,project_id为项目ID。
- 在Request Header中增加“X-Auth-Token”。
- 查看请求响应结果。
- 请求成功时,响应消息如下。
{ "tags": [ { "key": "key-1", "values": [ "value-1" ] }, { "key": "key-2", "values": [ "value-2" ] }, { "key": "key-test", "values": [ "value-test" ] } ] }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应消息如下。