示例五:通过子网ID或IP地址查询端口
操作场景
虚拟IP、弹性网卡等都是一种端口资源,在控制台界面上会显示端口的IP地址和所属子网等信息,更详细的信息可以通过端口的API来获取。
本章节指导用户通过调用API来获取端口资源的详细信息。
前提条件
已创建VPC和子网,并获取VPC和子网的ID,具体请参见创建VPC和子网。
已创建虚拟IP、弹性网卡或其他端口资源,并获取其IP地址和所属子网的ID,具体请参见申请虚拟IP地址、创建弹性网卡。
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。Token认证,具体操作请参考认证鉴权。
通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
操作步骤
- 通过子网ID或IP地址过滤查询端口。
- 发送“GET https://VPC的Endpoint/v1/{project_id}/ports?fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}”,
project_id为项目ID,ip_address为端口资源的IP地址,subnet_id为端口资源所在子网的ID(IPV4/IPV6子网ID,不是网络ID)。
过滤信息格式举例 fixed_ips=ip_address=192.168.27.75,fixed_ips=subnet_id=f60f887b-60e1-4647-a762-b5c6925909cd
- 在Request Header中增加“X-Auth-Token”。
- 查看请求响应结果。
- 请求成功时,响应参数如下,id就是port_id,可以看到端口的详细信息。
{ "ports": [ { "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495", "name": "", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd", "ip_address": "192.168.27.75" } ], "mac_address": "fa:16:3e:ab:1e:4e", "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "device_id": "", "device_owner": "neutron:VIP_PORT", "security_groups": [], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "instance_type": "", "instance_id": "", "zone_id": "cn-north-4a" } ] }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应参数如下,id就是port_id,可以看到端口的详细信息。
- 发送“GET https://VPC的Endpoint/v1/{project_id}/ports?fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}”,
- 查询端口详情。
- 如果已知端口ID,可以通过下面的接口查询端口详情。
- 发送“GET https://VPC的Endpoint/v1/{project_id}/ports/{port_id}”,project_id为项目ID,port_id为端口ID。
- 在Request Header中增加“X-Auth-Token”。
- 查看请求响应结果。
- 请求成功时,响应参数如下。
{ "port": { "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495", "name": "", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd", "ip_address": "192.168.27.75" } ], "mac_address": "fa:16:3e:ab:1e:4e", "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "device_id": "", "device_owner": "neutron:VIP_PORT", "security_groups": [], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "instance_type": "", "instance_id": "", "zone_id": "cn-north-4a" } }
- 请求异常时,错误码请参见错误码。
- 请求成功时,响应参数如下。