Consulta de recursos por etiqueta
Función
Esta API se utiliza para consultar los recursos de un tenant por etiqueta.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
POST /v1/{project_id}/{resource_type}/resource_instances/action
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. Mínimo: 1 Máximo: 64 |
resource_type |
Sí |
String |
Especifica el tipo de recurso. El tipo es endpoint_service o punto de conexión. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Especifica el token de usuario. Se puede obtener invocando a la API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario. |
Content-Type |
No |
String |
Especifica el tipo MIME del cuerpo de la solicitud. Se recomienda el valor application/json. Para las API utilizadas para cargar objetos o imágenes, el tipo MIME varía en función del tipo de flujo. Valor predeterminado: application/json |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
tags |
No |
Array of TagValuesList objects |
Se incluyen etiquetas. Se incluye un máximo de 10 claves de etiqueta y cada valor de etiqueta puede tener un máximo de 10 valores. Cada valor de etiqueta puede ser una matriz vacía, pero no puede faltar la estructura de etiqueta. Las claves de etiqueta deben ser únicas. Los valores de la misma clave de etiqueta deben ser únicos. Especifica todas las etiquetas devueltas del recurso. Las claves se encuentran en la relación AND, mientras que los valores de la estructura clave-valor se encuentran en la relación OR. Si no se especifica ninguna condición de filtrado para las etiquetas, se devuelven datos completos. Longitud del arreglo: 1 - 10 |
tags_any |
No |
Array of TagValuesList objects |
Se incluyen las etiquetas. Se incluye un máximo de 10 claves de etiqueta y cada clave de etiqueta puede tener un máximo de 10 valores. Los valores de cada clave de etiqueta pueden ser una matriz vacía, pero no puede faltar la estructura de etiqueta. Tanto las claves de etiqueta como los valores de la misma clave de etiqueta deben ser únicos. Especifica recursos, incluidas las etiquetas devueltas. Las claves y los valores de la estructura clave-valor están en la relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. Longitud del arreglo: 1 - 10 |
not_tags |
No |
Array of TagValuesList objects |
Se excluyen las etiquetas, se incluye un máximo de 10 claves de etiqueta y cada valor de etiqueta puede tener un máximo de 10 valores. Cada valor de etiqueta puede ser una matriz vacía, pero no puede faltar la estructura de etiqueta. Las claves de etiqueta deben ser únicas. Los valores de la misma clave de etiqueta deben ser únicos. Especifica recursos, excluidas las etiquetas devueltas. Las claves se encuentran en la relación AND, mientras que los valores de la estructura clave-valor se encuentran en la relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. Longitud del arreglo: 1 - 10 |
not_tags_any |
No |
Array of TagValuesList objects |
Se excluyen las etiquetas, se incluye un máximo de 10 claves de etiqueta y cada valor de etiqueta puede tener un máximo de 10 valores. Cada valor de etiqueta puede ser una matriz vacía, pero no puede faltar la estructura de etiqueta. Las claves de etiqueta deben ser únicas. Los valores de la misma clave de etiqueta deben ser únicos. Especifica recursos, excluidas las etiquetas devueltas. Las claves se encuentran en la relación AND, mientras que los valores de la estructura clave-valor se encuentran en la relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. Longitud del arreglo: 1 - 10 |
sys_tags |
No |
Array of TagValuesList objects |
Especifica las etiquetas del sistema. |
limit |
No |
String |
Especifica el número de registros que se van a consultar. Este parámetro es igual cuando la acción está configurada para contar. Si la action se define como filtrar, el valor predeterminado es 1000. El valor máximo del límite es 1000 y el valor mínimo es 1. |
offset |
No |
String |
Especifica la posición y el desfase del índice. La consulta comienza a partir de los datos después del primer desfase de datos. Este parámetro es igual cuando la acción está configurada para contar. Si la acción se establece en filtro, el valor predeterminado es 0, lo que indica que la consulta comienza desde los primeros datos. El valor debe ser un número no negativo. |
action |
Sí |
String |
Especifica la acción, que solo puede filtrarse y contarse. Si este parámetro se establece para filtrar, la consulta se realiza en función de los criterios de filtrado. Si el parámetro se establece para contar, solo se debe devolver el número total de recursos. |
matches |
No |
Array of Match objects |
Especifica el campo de búsqueda. La clave de etiqueta es el campo que debe coincidir, por ejemplo, resource_name. El valor de etiqueta indica el valor coincidente. La clave de la etiqueta es un valor fijo del diccionario y no puede ser una clave duplicada o una clave no admitida. Especifica si se requiere una coincidencia difusa basada en el valor de la clave de etiqueta. Por ejemplo, si la clave de etiqueta es resource_name, se utiliza la búsqueda difusa (no distingue entre mayúsculas y minúsculas) de forma predeterminada. Si el valor es una cadena vacía, se utiliza la coincidencia exacta. Se devuelve una lista vacía porque el resource_name de la mayoría de los servicios no se puede dejar en blanco. Si la clave de etiqueta es resource_id, se utiliza la coincidencia exacta. Solo se admite resource_name para clave. Otros valores clave estarán disponibles más adelante. |
without_any_tag |
No |
Boolean |
El valor predeterminado es false. El valor puede ser true o false. Cuando withoutAnyTag se establece en true, ignore la verificación de parámetros en tags, tagsAny, notTags y notTagsAny. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
Especifica la clave de etiqueta. Contiene un máximo de 127 caracteres Unicode. Una clave de etiqueta no se puede dejar en blanco. (El conjunto de caracteres de este parámetro no se comprueba durante la búsqueda.) La clave de etiqueta no puede dejarse en blanco, cadenas vacías o espacios. Antes de verificarlo y usarlo, elimine el valor al principio y al final de la clave de etiqueta. Mínimo: 1 Máximo: 36 |
values |
Sí |
Array of strings |
Especifica los valores de etiqueta. Cada valor de etiqueta contiene un máximo de 255 caracteres de Unicode. Antes de verificarlo y usarlo, elimine los espacios al principio y al final del valor de etiqueta. El valor de etiqueta puede ser una matriz vacía, pero no puede dejarse en blanco. Si el valor se deja en blanco, indica any_value (consulta de cualquier valor). Los valores están en la relación OR. El sistema no verifica el conjunto de caracteres de valores al buscar recursos, sino que solo verifica la longitud. Mínimo: 1 Máximo: 255 Longitud del arreglo: 1 - 1000 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
Indica la clave de etiqueta. Solo se admite resource_name para clave. Otros valores clave estarán disponibles más adelante. Mínimo: 1 Máximo: 36 |
value |
Sí |
String |
El valor. Cada valor puede contener un máximo de 255 caracteres de Unicode. No se verifica el conjunto de caracteres del valor. Mínimo: 1 Máximo: 43 |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
resources |
Array of ResourceInstance objects |
Especifica los detalles del recurso. |
total_count |
Integer |
Especifica el número total de registros. Mínimo: 1 |
Parámetro |
Tipo |
Descripción |
---|---|---|
resource_id |
String |
El ID del recurso, el ID del servicio de punto de conexión o el ID del punto de conexión. Mínimo: 1 Máximo: 64 |
tags |
Array of TagList objects |
Indica la lista de etiquetas. |
resource_name |
String |
Nombre del recurso. Si el recurso no tiene nombre, se devuelve el ID. Mínimo: 0 Máximo: 128 |
Parámetro |
Tipo |
Descripción |
---|---|---|
key |
String |
Especifica la clave de etiqueta. Una clave de etiqueta contiene un máximo de 36 caracteres de Unicode. No puede quedar en blanco. No puede contener signos iguales (=), asteriscos (*), menos que signos (<), mayor que signos (>), barras invertidas (), comas (,), barras verticales (|), y barras (/), y los caracteres primero y último no pueden ser espacios. Mínimo: 1 Máximo: 36 |
value |
String |
Especifica la clave de etiqueta. Un valor de etiqueta contiene un máximo de 43 caracteres y puede ser una cadena vacía. No puede contener signos iguales (=), asteriscos (*), menos que signos (<), mayor que signos (>), barras invertidas (), comas (,), barras verticales (|), y barras (/), y los caracteres primero y último no pueden ser espacios. Mínimo: 1 Máximo: 43 |
Ejemplo de las solicitudes
-
Consulta de puntos de conexión de VPC por etiqueta
POST https://{endpoint}/v1/{project_id}/endpoint/resource_instances/action When action is set to filter: "offset": "100", "limit": "100", "action": "filter", "matches": [ { "key": "resource_name", "value": "resource1" } ], "not_tags": [ { "key": "key1", "values": [ "*value1", "value2" ] } ], "tags": [ { "key": "key1", "values": [ "*value1", "value2" ] } ], "tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "not_tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ] }
-
Consulta del número total de servicios de punto de conexión de VPC
https://{endpoint}/v1/{project_id}/endpoint_service/ resource_instances/action When action is set to count: { "action": "count", "not_tags": [ { "key": "key1", "values": [ "value1", "*value2" ] } ], "tags": [ { "key": "key1", "values": [ "value1", "value2" ] }, { "key": "key2", "values": [ "value1", "value2" ] } ], "tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "not_tags_any": [ { "key": "key1", "values": [ "value1", "value2" ] } ], "matches": [ { "key": "resource_name", "value": "resource1" } ] }
Ejemplo de las respuestas
Código de estado: 200
El servidor procesó correctamente la solicitud.
– When **action** is set to **filter**: { "resources": [ { "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resource1", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value1" } ] } ], "total_count": 1000 }
Ejemplo de código del SDK
El ejemplo de código del SDK es el siguiente.
Java
-
Consulta de puntos de conexión de VPC por etiqueta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.vpcep.v1.region.VpcepRegion; import com.huaweicloud.sdk.vpcep.v1.*; import com.huaweicloud.sdk.vpcep.v1.model.*; public class ListResourceInstancesSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); VpcepClient client = VpcepClient.newBuilder() .withCredential(auth) .withRegion(VpcepRegion.valueOf("cn-north-4")) .build(); ListResourceInstancesRequest request = new ListResourceInstancesRequest(); try { ListResourceInstancesResponse response = client.listResourceInstances(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
-
Querying the total number of VPC endpoint services
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.vpcep.v1.region.VpcepRegion; import com.huaweicloud.sdk.vpcep.v1.*; import com.huaweicloud.sdk.vpcep.v1.model.*; public class ListResourceInstancesSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); VpcepClient client = VpcepClient.newBuilder() .withCredential(auth) .withRegion(VpcepRegion.valueOf("cn-north-4")) .build(); ListResourceInstancesRequest request = new ListResourceInstancesRequest(); try { ListResourceInstancesResponse response = client.listResourceInstances(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
Python
-
Consulta de puntos de conexión de VPC por etiqueta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkvpcep.v1.region.vpcep_region import VpcepRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkvpcep.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = VpcepClient.new_builder() \ .with_credentials(credentials) \ .with_region(VpcepRegion.value_of("cn-north-4")) \ .build() try: request = ListResourceInstancesRequest() response = client.list_resource_instances(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Querying the total number of VPC endpoint services
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkvpcep.v1.region.vpcep_region import VpcepRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkvpcep.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = VpcepClient.new_builder() \ .with_credentials(credentials) \ .with_region(VpcepRegion.value_of("cn-north-4")) \ .build() try: request = ListResourceInstancesRequest() response = client.list_resource_instances(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
Go
-
Consulta de puntos de conexión de VPC por etiqueta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" vpcep "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := vpcep.NewVpcepClient( vpcep.VpcepClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.ListResourceInstancesRequest{} response, err := client.ListResourceInstances(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
-
Querying the total number of VPC endpoint services
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" vpcep "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpcep/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := vpcep.NewVpcepClient( vpcep.VpcepClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.ListResourceInstancesRequest{} response, err := client.ListResourceInstances(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
Otro más
Para obtener un ejemplo de código del SDK de más lenguajes de programación, consulta la ficha Ejemplo de código en API Explorer. El ejemplo de código del SDK se puede generar automáticamente.
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
El servidor procesó correctamente la solicitud. |
Códigos de error
Consulte Códigos de error.