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/ Aceptación o rechazo de un punto de conexión de VPC
Actualización más reciente 2024-09-14 GMT+08:00

Aceptación o rechazo de un punto de conexión de VPC

Función

Esta API se utiliza para aceptar o rechazar un punto de conexión de VPC para un servicio de punto de conexión de VPC.

Método de invocación

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

URI

POST /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}/connections/action

Tabla 1 Parámetros de enrutamiento

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto.

Mínimo: 1

Máximo: 64

vpc_endpoint_service_id

String

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

Mínimo: 1

Máximo: 64

Parámetros de solicitud

Tabla 2 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

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

action

String

Especifica si aceptar o rechazar un punto de conexión de VPC para un servicio de punto de conexión de VPC. ● receive: Se permite la conexión. ● reject: Se rechaza la conexión.

endpoints

Array of strings

Especifica los ID de punto de conexión de VPC. Cada solicitud acepta o rechaza un punto de conexión de VPC.

Longitud del arreglo: 1 - 1

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta.

Parámetro

Tipo

Descripción

connections

Array of ConnectionEndpoints objects

Especifica la lista de conexiones.

Tabla 5 ConnectionEndpoints

Parámetro

Tipo

Descripción

id

String

Especifica el ID único del punto de conexión de VPC.

Mínimo: 1

Máximo: 64

marker_id

Integer

Especifica el ID de paquete del punto de conexión de VPC.

created_at

String

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

updated_at

String

Especifica el tiempo de actualización del punto de conexión de la VPC. El formato de hora UTC aplicado es AAAA-MMDDTHH:MM:SSZ.

domain_id

String

ID de dominio de un usuario.

Mínimo: 1

Máximo: 64

error

Array of QueryError objects

Especifica el mensaje de error. Este campo se devuelve cuando el punto de conexión de VPC es anormal, es decir, el valor de status es failed.

status

String

Especifica el estado de conexión del punto de conexión de la VPC. ● pendingAcceptance: Se aceptará el punto de conexión de VPC. ● creating: Se está creando la conexión de punto de conexión de VPC. ● accepted: Se ha aceptado la conexión de punto de conexión de VPC. ● rejected: Se ha rechazado la conexión de punto de conexión de VPC. ● failed: Error en la conexión de punto de conexión de VPC. ● deleting: se está eliminando la conexión de punto de conexión de VPC.

description

String

Especifica la descripción de una conexión del punto de conexión de VPC.

Mínimo: 0

Máximo: 512

Tabla 6 QueryError

Parámetro

Tipo

Descripción

error_code

String

Código de error.

Mínimo: 0

Máximo: 10

error_message

String

Mensaje de error.

Mínimo: 0

Máximo: 1024

Ejemplo de solicitudes

Aceptación de una conexión desde un punto de conexión de VPC

POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services/4189d3c2-8882-4871-a3c2- d380272eed88/connections/action

{
  "endpoints" : [ "705290f3-0d00-41f2-aedc-71f09844e879" ],
  "action" : "receive"
}

Ejemplo de respuestas

Código de estado: 200

El servidor procesó correctamente la solicitud.

{
  "connections" : [ {
    "id" : "4189d3c2-8882-4871-a3c2-d380272eed83",
    "status" : "accepted",
    "marker_id" : 422321321312321321,
    "domain_id" : "6e9dfd51d1124e8d8498dce894923a0d",
    "created_at" : "2022-04-14T09:35:47Z",
    "updated_at" : "2022-04-14T09:36:47Z"
  } ]
}

Ejemplo de código del SDK

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

Java

Aceptación de una conexión desde un punto de conexión de VPC

 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
52
53
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.*;

import java.util.List;
import java.util.ArrayList;

public class AcceptOrRejectEndpointSolution {

    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();
        AcceptOrRejectEndpointRequest request = new AcceptOrRejectEndpointRequest();
        AcceptOrRejectEndpointRequestBody body = new AcceptOrRejectEndpointRequestBody();
        List<String> listbodyEndpoints = new ArrayList<>();
        listbodyEndpoints.add("705290f3-0d00-41f2-aedc-71f09844e879");
        body.withEndpoints(listbodyEndpoints);
        body.withAction(AcceptOrRejectEndpointRequestBody.ActionEnum.fromValue("receive"));
        request.withBody(body);
        try {
            AcceptOrRejectEndpointResponse response = client.acceptOrRejectEndpoint(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

Aceptación de una conexión desde un punto de conexión de VPC

 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
# 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 = AcceptOrRejectEndpointRequest()
        listEndpointsbody = [
            "705290f3-0d00-41f2-aedc-71f09844e879"
        ]
        request.body = AcceptOrRejectEndpointRequestBody(
            endpoints=listEndpointsbody,
            action="receive"
        )
        response = client.accept_or_reject_endpoint(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

Aceptación de una conexión desde un punto de conexión de VPC

 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
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.AcceptOrRejectEndpointRequest{}
	var listEndpointsbody = []string{
        "705290f3-0d00-41f2-aedc-71f09844e879",
    }
	request.Body = &model.AcceptOrRejectEndpointRequestBody{
		Endpoints: listEndpointsbody,
		Action: model.GetAcceptOrRejectEndpointRequestBodyActionEnum().RECEIVE,
	}
	response, err := client.AcceptOrRejectEndpoint(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.