Consulta de ECS
Escenarios
Esta sección describe cómo obtener todos los ECS de un tenant por página usando la API para consultar detalles sobre los ECS.
Las operaciones descritas en esta sección incluyen consultas de información por página y filtrado y clasificación de datos. Para obtener más información sobre los parámetros, consulte Consulta de detalles sobre ECS.
APIs involucradas
La consulta de ECS implica las siguientes API:
Procedimiento
- Consulte los detalles sobre los ECS especificando el número máximo de ECS que se muestran en una página.
- API
Formato URI: GET /v2.1/{project_id}/servers/detail
Para más detalles, consulte Consulta de detalles sobre ECS.
- Ejemplo de la solicitud
GET: https://{endpoint}/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100
Obtenga {endpoint} de Regiones and endpoint.
El valor limit se puede ajustar en función de los datos de ECS.
- Ejemplo de la respuesta
{ "servers": [ ...... { "tenant_id": "743b4c0428d945316666666666666666", "metadata": { }, "addresses": { "140fd038-c4ae-4c32-ac07-34b525eb6b95": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:e9:91:50", "addr": "192.168.0.178", "OS-EXT-IPS:type": "fixed", "version": 4 } ] }, "OS-EXT-STS:task_state": null, "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone": "xxx", "links": [ { "rel": "self", "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/f215afe8-b0c2-41cc-9191-585638166812" }, { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/servers/f215afe8-b0c2-41cc-9191-585638166812" } ], "OS-EXT-STS:power_state": 4, "id": "f215afe8-b0c2-41cc-9191-585638166812", "os-extended-volumes:volumes_attached": [ { "id": "546cf622-b9e5-4784-b659-6881e711f283" } ], "OS-EXT-SRV-ATTR:host": "pod01.xxx", "accessIPv4": "", "image": { "links": [ { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/images/5c13381a-4a54-4ea5-a3b5-e7f7069f19a4" } ], "id": "5c13381a-4a54-4ea5-a3b5-e7f7069f19a4" }, "OS-SRV-USG:terminated_at": null, "accessIPv6": "", "created": "2019-08-09T02:35:04Z", "hostId": "31397656d6b318d01431f60c481d8425dc58eb421d237a385ceb80ee", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova022@36", "flavor": { "links": [ { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/flavors/s3.large.4" } ], "id": "s3.large.4" }, "key_name": null, "security_groups": [ { "name": "sg-1e22" } ], "config_drive": "", "OS-EXT-STS:vm_state": "stopped", "user_id": "a8c20feabb5245e0bae4ef27618f932b", "OS-EXT-SRV-ATTR:instance_name": "instance-004bf55f", "name": "ecs-f090", "OS-SRV-USG:launched_at": "2019-08-09T02:35:23.000000", "updated": "2019-08-13T03:12:39Z", "status": "SHUTOFF" } ], "servers_links": [ { "rel": "next", "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=f215afe8-b0c2-41cc-9191-585638166812" } ] }
- API
- Consulte los detalles sobre los ECS mediante la especificación del número máximo de ECS mostrados en una página y el identificador de la última variante en una página.
- API
Formato URI: GET /v2.1/{project_id}/servers/detail
La API utilizada es la misma que la proporcionada en 1.
- Ejemplo de la solicitud
GET: https://{endpoint}/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=f215afe8-b0c2-41cc-9191-585638166812
Se devuelve el URI de la página siguiente. Para obtener más información, consulte el campo href en server_links del cuerpo devuelto. Si este campo no está disponible, ya no habrá más páginas.
- Ejemplo de la respuesta
{ "servers": [ ..... { "tenant_id": "743b4c0428d945316666666666666666", "metadata": { }, "addresses": { "140fd038-c4ae-4c32-ac07-34b525eb6b95": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:a5:2b:f8", "addr": "192.168.0.169", "OS-EXT-IPS:type": "fixed", "version": 4 } ] }, "OS-EXT-STS:task_state": null, "OS-DCF:diskConfig": "MANUAL", "OS-EXT-AZ:availability_zone": "xxxc", "links": [ { "rel": "self", "href": "https://xxx/v2.1/743b4c0428d945316666666666666666/servers/62348919-0188-43ec-aae6-82c1e96c49eb" }, { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/servers/62348919-0188-43ec-aae6-82c1e96c49eb" } ], "OS-EXT-STS:power_state": 4, "id": "62348919-0188-43ec-aae6-82c1e96c49eb", "os-extended-volumes:volumes_attached": [ { "id": "f0bb068a-61c1-4dc8-8455-09857773c3ff" } ], "OS-EXT-SRV-ATTR:host": "pod01.xxx", "accessIPv4": "", "image": { "links": [ { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/images/3a64bd37-955e-40cd-ab9e-129db56bc05d" } ], "id": "3a64bd37-955e-40cd-ab9e-129db56bc05d" }, "OS-SRV-USG:terminated_at": null, "accessIPv6": "", "created": "2019-07-27T03:06:48Z", "hostId": "31397656d6b318d01431f60c481d8425dc58eb421d237a385ceb80ee", "OS-EXT-SRV-ATTR:hypervisor_hostname": "nova022@36", "flavor": { "links": [ { "rel": "bookmark", "href": "https://ecs.xxx/743b4c0428d945316666666666666666/flavors/s3.medium.4" } ], "id": "s3.medium.4" }, "key_name": null, "security_groups": [ { "name": "sg-1e22" } ], "config_drive": "", "OS-EXT-STS:vm_state": "stopped", "user_id": "f7e10ccf7abc4757b483895c3e06964a", "OS-EXT-SRV-ATTR:instance_name": "instance-004a0eea", "name": "test-dx", "OS-SRV-USG:launched_at": "2019-07-27T03:07:05.000000", "updated": "2019-08-13T03:12:38Z", "status": "SHUTOFF" } ], "servers_links": [ { "rel": "next", "href": "https://ecs.xxx/v2.1/743b4c0428d945316666666666666666/servers/detail?limit=100&marker=62348919-0188-43ec-aae6-82c1e96c49eb" } ] }
- API
- Recopilar resultados de consulta.
Repita el paso 1 hasta que el resultado de la consulta devuelto esté vacío o el cuerpo devuelto no contenga el campo server_links. Esto indica que todos los ECS han sido consultados.
Los ECS recopilados son los resultados de consulta deseados.