Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ VPC Endpoint/ Referencia de la API/ API/ Servicios de punto de conexión de VPC/ Consulta de servicios de punto de conexión de VPC públicos
Actualización más reciente 2024-09-14 GMT+08:00

Consulta de servicios de punto de conexión de VPC públicos

Función

Esta API se utiliza para consultar servicios de punto de conexión de VPC públicos. Estos servicios son creados por el personal de O&M y pueden ser visibles y evaluados por todos los usuarios.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

GET /v1/{project_id}/vpc-endpoint-services/public

Tabla 1 Parámetros de enrutamiento

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Mínimo: 1

Máximo: 64

Tabla 2 Parámetros de consulta

Parámetro

Obligatorio

Tipo

Descripción

limit

No

Integer

Especifica la cantidad máxima de servicios de punto de conexión de VPC públicos que se muestran en cada página. El valor oscila entre 0 y 1000 y generalmente es de 10, 20 o 50. El número predeterminado es 10.

Mínimo: 1

Máximo: 1000

Predeterminado: 10

offset

No

Integer

Especifica el desfase. Se consultarán todos los servicios de punto de conexión de VPC después de este desfase. El desfase debe ser un entero mayor que 0 pero menor que la cantidad de servicios punto de conexión de VPC.

Mínimo: 0

endpoint_service_name

No

String

Especifica el nombre del servicio de punto de conexión de VPC público. El valor distingue entre mayúsculas y minúsculas y admite coincidencias difusas.

Mínimo: 1

Máximo: 128

id

No

String

ID único del servicio de punto de conexión de VPC público.

Mínimo: 1

Máximo: 64

sort_key

No

String

Especifica el campo de clasificación de los servicios de punto de conexión de VPC, que puede ser: ● create_at: Los servicios de punto de conexión de VPC se ordenan por hora de creación. ● update_at: Los servicios de punto de conexión de VPC se ordenan por tiempo de actualización. El campo predeterminado es create_at.

Valor predeterminado: create_at

sort_dir

No

String

Especifica el método de clasificación de los servicios de punto de conexión de VPC, que puede ser: ● desc: Los servicios de punto de conexión de VPC se clasifican en la orden descendente. ● asc: Los servicios de punto de conexión de VPC se clasifican en la orden ascendente. El método predeterminado es desc.

Predeterminado: desc

Parámetros de solicitud

Tabla 3 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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ámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

endpoint_services

Array of EndpointService objects

Especifica los servicios de punto de conexión de VPC.

total_count

Integer

Especifica el número total de servicios de punto de conexión de VPC públicos que cumplen con los criterios de búsqueda. El número no se ve afectado por limit ni offset.

Tabla 5 EndpointService

Parámetro

Tipo

Descripción

id

String

ID único del servicio de punto de conexión de VPC público.

Mínimo: 1

Máximo: 64

owner

String

Especifica el propietario del servicio de punto de conexión de VPC.

service_name

String

Especifica el nombre del servicio de punto de conexión de VPC público.

service_type

String

Especifica el tipo del servicio de punto de conexión de VPC. ● gateway: los servicios de punto de conexión de VPC de este tipo son configurados por el personal de O&M. Puede usarlos directamente sin crearlos usted mismo. ● interface: se incluyen los servicios en la nube configurados por el personal de O&M y los servicios privados creados por ustedes mismos. No puede configurar estos servicios en la nube, pero puede utilizarlos. Puede crear un punto de conexión de VPC para acceder al gateway y la interfaz de servicios de punto de conexión de VPC.

created_at

String

Especifica el tiempo de creación del servicio de punto de conexión de VPC. El formato de hora UTC aplicado es YYYY-MMDDTHH:MM:SSZ.

is_charge

Boolean

Especifica si el punto de conexión de VPC asociado tiene un cargo. ● true: Se debe cargar el punto de conexión de VPC asociado. ● false: No es necesario cobrar el punto de conexión de VPC asociado.

enable_policy

Boolean

Especifica si la política de punto de conexión de VPC está habilitada. ● false: no se puede configurar la política de punto de conexión de VPC. ● true: Se puede configurar la política de punto de conexión de VPC. El valor predeterminado es false. Especifica si la política de punto de conexión de VPC está habilitada. ● false: no se puede configurar la política de punto de conexión de VPC. ● true: Se puede configurar la política de punto de conexión de VPC. El valor predeterminado es false.

Ejemplo de solicitudes

Consulta de servicios de punto de conexión de VPC públicos

GET https://{endpoint}/v1/{project_id}/vpc-endpoint-services/public?limit={limit}&offset={offset}&endpoint_service_name={endpoint_service_name}&id={endpoint_service_id}&sort_key={sort_key}&sort_dir={sort_dir}

Ejemplo de respuestas

Código de estado: 200

El servidor procesó correctamente la solicitud.

{
  "endpoint_services" : [ {
    "id" : "b0e22f6f-26f4-461c-b140-d873464d4fa0",
    "owner" : "example",
    "service_name" : "test123",
    "service_type" : "interface",
    "created_at" : "2018-09-10T13:13:23Z",
    "is_charge" : "true"
  }, {
    "id" : "26391a76-546b-42a9-b2fc-496ec68c0e4d",
    "owner" : "example",
    "service_name" : "OBS",
    "service_type" : "gateway",
    "created_at" : "2019-03-28T09:30:27Z",
    "is_charge" : "true"
  } ],
  "total_count" : 2
}

Ejemplo de código del SDK

El ejemplo de código del SDK es el siguiente.

Java

 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
46
47
48
49
50
51
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 ListServicePublicDetailsSolution {

    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();
        ListServicePublicDetailsRequest request = new ListServicePublicDetailsRequest();
        request.withLimit(<limit>);
        request.withOffset(<offset>);
        request.withEndpointServiceName("<endpoint_service_name>");
        request.withId("<id>");
        request.withSortKey(ListServicePublicDetailsRequest.SortKeyEnum.fromValue("<sort_key>"));
        request.withSortDir(ListServicePublicDetailsRequest.SortDirEnum.fromValue("<sort_dir>"));
        try {
            ListServicePublicDetailsResponse response = client.listServicePublicDetails(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

 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
# 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 = ListServicePublicDetailsRequest()
        request.limit = <limit>
        request.offset = <offset>
        request.endpoint_service_name = "<endpoint_service_name>"
        request.id = "<id>"
        request.sort_key = "<sort_key>"
        request.sort_dir = "<sort_dir>"
        response = client.list_service_public_details(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

 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
46
47
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.ListServicePublicDetailsRequest{}
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	endpointServiceNameRequest:= "<endpoint_service_name>"
	request.EndpointServiceName = &endpointServiceNameRequest
	idRequest:= "<id>"
	request.Id = &idRequest
	sortKeyRequest:= model.GetListServicePublicDetailsRequestSortKeyEnum().<SORT_KEY>
	request.SortKey = &sortKeyRequest
	sortDirRequest:= model.GetListServicePublicDetailsRequestSortDirEnum().<SORT_DIR>
	request.SortDir = &sortDirRequest
	response, err := client.ListServicePublicDetails(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.