Actualización de un canal de VPC
Función
Esta API se utiliza para actualizar los parámetros de un canal VPC.
Si el canal de VPC se sobrescribe con una lista de instancias de backend vacía, se eliminarán todas las instancias de backend existentes.
Si el canal de VPC se sobrescribe con una lista de grupos de servidores backend vacía, se eliminarán todos los grupos de servidores backend existentes.
URI
PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. Para obtener detalles sobre cómo obtener un ID de proyecto, consulte "Apéndice" > "Obtención de un ID de proyecto" en este documento. |
instance_id |
Sí |
String |
Gateway ID, que se puede obtener de la información de gateway en la consola APIG. |
vpc_channel_id |
Sí |
String |
ID de canal de VPC. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener llamando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
String |
Nombre del canal de VPC. Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). |
port |
Sí |
Integer |
Puerto de host del canal VPC. Rango: 1–65535. |
balance_strategy |
Sí |
Integer |
Algoritmo de distribución.
Predeterminado: 1 Valores de enumeración:
|
member_type |
Sí |
String |
Tipo de miembro del canal VPC.
Predeterminado: ecs Valores de enumeración:
|
type |
No |
Integer |
Tipo de canal de VPC. El tipo predeterminado es servidor.
Predeterminado: 2 Valores de enumeración:
|
dict_code |
No |
String |
Código de diccionario del canal VPC. El valor puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Este parámetro no se admite actualmente. Mínimo:3 Máximo: 64 |
member_groups |
No |
Array of MemberGroupCreate objects |
Grupos de servidores backend del canal VPC. |
members |
No |
Array of MemberInfo objects |
Las instancias de backend del canal VPC. |
vpc_health_config |
No |
VpcHealthConfig object |
Detalles de la comprabación de salud. |
microservice_info |
No |
MicroServiceCreate object |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
member_group_name |
Sí |
String |
Nombre del grupo de servidores backend del canal VPC. |
member_group_remark |
No |
String |
Descripción del grupo de servidores backend. |
member_group_weight |
No |
Integer |
Peso del grupo de servidores backend. Si el grupo de servidores contiene servidores y se ha establecido un peso para él, el peso se utiliza automáticamente para asignar pesos a los servidores de este grupo. Mínimo: 0 Máximo: 100 |
dict_code |
No |
String |
Código de diccionario del grupo de servidores backend. El valor puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Actualmente, este parámetro no es compatible. Mínimo:3 Máximo: 64 |
microservice_version |
No |
String |
Versión del grupo de servidores backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. Máximo: 64 |
microservice_port |
No |
Integer |
Puerto del grupo de servidores de backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. Si el número de puerto es 0, todas las direcciones en el grupo de servidores backend utilizan el puerto de equilibrio de carga original para heredar la lógica. Mínimo: 0 Máximo: 65535 |
microservice_labels |
No |
Array of MicroserviceLabel objects |
Etiquetas del grupo de servidores de backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
label_name |
Sí |
String |
Nombre de la etiqueta. Comience y termine con una letra o dígito. Utilice solo letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo 63 |
label_value |
Sí |
String |
Valor de la etiqueta. Comience y termine con una letra o dígito. Utilice solo letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo 63 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
host |
No |
String |
Dirección del servidor backend. Este parámetro es necesario cuando el tipo de miembro es dirección IP. Máximo: 64 |
weight |
No |
Integer |
Peso. Cuanto mayor sea el peso, más solicitudes recibirá un servicio de back-end. Mínimo: 0 Máximo: 10000 |
is_backup |
No |
Boolean |
Indica si el servicio backend es un nodo en espera. Después de habilitar esta función, el servicio de backend sirve como nodo en espera. Funciona solo cuando todos los nodos no en espera están defectuosos. Esta función solo se admite cuando el gateway se ha actualizado a la versión correspondiente. Si su gateway no admite esta función, póngase en contacto con el soporte técnico. Predeterminado: false |
member_group_name |
No |
String |
Nombre del grupo del servidor de backend. El grupo de servidores facilita la modificación de la dirección del servicio de back-end. |
status |
No |
Integer |
Estado del servidor backend.
Valores de enumeración:
|
port |
No |
Integer |
Puerto de servidor de backend. Mínimo: 0 Máximo: 65535 |
ecs_id |
No |
String |
ID del servidor de backend. Este parámetro es necesario si el tipo de instancia de backend es ecs. El valor puede contener de 1 a 64 caracteres, incluyendo letras, dígitos, guiones (-) y guiones bajos (_). Máximo: 255 |
ecs_name |
No |
String |
Nombre del servidor de backend. Este parámetro es necesario si el tipo de instancia de backend es ecs. El valor puede contener de 1 a 64 caracteres, incluyendo letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Máximo: 64 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
protocol |
Sí |
String |
Protocolo para realizar comprobaciones de estado en servidores backend en el canal VPC.
Valores de enumeración:
|
path |
No |
String |
Ruta de destino para las comprobaciones de estado. Este parámetro es necesario si el protocolo se establece en http o https. |
method |
No |
String |
Método de solicitud de comprobación de salud. Predeterminado: GET Valores de enumeración:
|
port |
No |
Integer |
Puerto de destino para las comprobaciones de estado. Si este parámetro no se especifica o se establece en 0, se utiliza el puerto de host del canal VPC. Si este parámetro se establece en un valor distinto de cero, se utiliza el puerto correspondiente para las comprobaciones de estado. Mínimo: 0 Máximo: 65535 |
threshold_normal |
Sí |
Integer |
Umbral saludable. Se refiere al número de comprobaciones exitosas consecutivas requeridas para que un servidor backend se considere saludable. Mínimo: 2 Máximo: 10 |
threshold_abnormal |
Sí |
Integer |
Umbral poco saludable. Se refiere al número de comprobaciones consecutivas fallidas requeridas para que un servidor de back-end se considere insalubre. Mínimo: 2 Máximo: 10 |
time_interval |
Sí |
Integer |
Intervalo entre comprobaciones consecutivas. Unidad: s. El valor debe ser mayor que el valor del tiempo de espera. Mínimo: 5 Máximo: 300 |
http_code |
No |
String |
Códigos de respuesta para determinar una respuesta HTTP correcta. El valor puede ser cualquier entero dentro de 100–599 en uno de los siguientes formatos:
|
enable_client_ssl |
No |
Boolean |
Indica si se debe habilitar la autenticación bidireccional. Si esta función está habilitada, se utiliza el certificado especificado en el elemento de configuración backend_client_certificate de gateway. Predeterminado: false |
status |
No |
Integer |
Resultado de comprobación de salud
Valores de enumeración:
|
timeout |
Sí |
Integer |
Tiempo de espera para determinar si una comprobación de estado falla. Unidad: s. El valor debe ser menor que el valor de time_interval. Mínimo: 2 Máximo: 30 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
service_type |
No |
String |
Tipo de microservicio.
Valores de enumeración:
|
cse_info |
No |
MicroServiceInfoCSEBase object |
Detalles del microservicio CSE. Este parámetro es necesario si service_type se establece en CSE. |
cce_info |
No |
MicroServiceInfoCCEBase object |
Detalles de la carga de trabajo de CCE. Este parámetro es necesario si service_type se establece en CCE. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
engine_id |
Sí |
String |
ID del motor de microservicio. Máximo: 64 |
service_id |
Sí |
String |
ID de microservicio. Máximo: 64 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
cluster_id |
Sí |
String |
ID del clúster de CCE. Máximo: 64 |
namespace |
Sí |
String |
Espacio de nombres. Máximo: 64 |
workload_type |
Sí |
String |
Tipo de carga de trabajo.
Valores de enumeración:
|
app_name |
Sí |
String |
Nombre de la aplicación. Máximo: 64 |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
name |
String |
Nombre del canal de VPC. Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_). |
port |
Integer |
Puerto de host del canal VPC. Rango: 1–65535. |
balance_strategy |
Integer |
Algoritmo de distribución.
Predeterminado: 1 Valores de enumeración:
|
member_type |
String |
Tipo de miembro del canal VPC.
Predeterminado: ecs Valores de enumeración:
|
type |
Integer |
Tipo de canal de VPC. El tipo predeterminado es servidor.
Predeterminado: 2 Valores de enumeración:
|
dict_code |
String |
Código de diccionario del canal VPC. El valor puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Este parámetro no se admite actualmente. Mínimo: 3 Máximo: 64 |
create_time |
String |
Hora en la que se crea el canal VPC. |
id |
String |
ID de canal de VPC. |
status |
Integer |
Estado del canal de VPC.
Valores de enumeración:
|
member_groups |
Array of MemberGroupInfo objects |
Grupos de servidores backend. |
microservice_info |
MicroServiceInfo object |
Información de microservicio. |
Parámetro |
Tipo |
Descripción |
---|---|---|
member_group_name |
String |
Nombre del grupo de servidores backend del canal VPC. |
member_group_remark |
String |
Descripción del grupo de servidores backend. |
member_group_weight |
Integer |
Peso del grupo de servidores backend. Si el grupo de servidores contiene servidores y se ha establecido un peso para él, el peso se utiliza automáticamente para asignar pesos a los servidores de este grupo. Mínimo: 0 Máximo: 100 |
dict_code |
String |
Código de diccionario del grupo de servidores backend. El valor puede contener letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Actualmente, este parámetro no es compatible. Mínimo:3 Máximo: 64 |
microservice_version |
String |
Versión del grupo de servidores backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. Máximo: 64 |
microservice_port |
Integer |
Puerto del grupo de servidores de backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. Si el número de puerto es 0, todas las direcciones en el grupo de servidores backend utilizan el puerto de equilibrio de carga original para heredar la lógica. Mínimo: 0 Máximo: 65535 |
microservice_labels |
Array of MicroserviceLabel objects |
Etiquetas del grupo de servidores de backend. Este parámetro solo se admite cuando el tipo de canal de VPC es microservicio. |
member_group_id |
String |
ID del grupo de servidores backend del canal VPC. |
create_time |
String |
Hora en la que se crea el grupo de servidores de backend. |
update_time |
String |
Hora en la que se actualiza el grupo de servidores de backend. |
Parámetro |
Tipo |
Descripción |
---|---|---|
label_name |
String |
Nombre de la etiqueta. Comience y termine con una letra o dígito. Utilice solo letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo 63 |
label_value |
String |
Valor de la etiqueta. Comience y termine con una letra o dígito. Utilice solo letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). (Máx. 63 caracteres.) Mínimo: 1 Máximo 63 |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de microservicio. |
service_type |
String |
Tipo de microservicio.
Valores de enumeración:
|
cse_info |
MicroServiceInfoCSE object |
Detalles del microservicio CSE. |
cce_info |
MicroServiceInfoCCE object |
Detalles del microservicio CCE. |
update_time |
String |
Tiempo de actualización del microservicio. |
create_time |
String |
Tiempo de creación de microservicios. |
Parámetro |
Tipo |
Descripción |
---|---|---|
engine_id |
String |
ID del motor de microservicio. Máximo: 64 |
service_id |
String |
ID de microservicio. Máximo: 64 |
engine_name |
String |
Nombre del motor de microservicios. |
service_name |
String |
Nombre del microservicio. |
register_address |
String |
Dirección del centro de registro. |
cse_app_id |
String |
App a la que pertenece el microservicio. |
version |
String |
Versión de microservicio, que se ha descartado y se refleja en la versión del grupo de servidores de backend. Máximo: 64 |
Parámetro |
Tipo |
Descripción |
---|---|---|
cluster_id |
String |
ID del clúster de CCE. Máximo: 64 |
namespace |
String |
Espacio de nombres. Máximo: 64 |
workload_type |
String |
Tipo de carga de trabajo.
Valores de enumeración:
|
app_name |
String |
Nombre de la aplicación. Máximo: 64 |
cluster_name |
String |
Nombre del clúster de CCE. |
Código de estado: 400
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 401
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 403
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 404
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 500
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Solicitudes de ejemplo
-
Actualización de un canal de VPC del tipo de servidor
{ "balance_strategy" : 2, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 2, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark" }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark" } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ] }
-
Actualización de un canal de VPC del tipo de microservicio
{ "balance_strategy" : 1, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 3, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "microservice_version" : "v1", "microservice_port" : 80 }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "microservice_version" : "v2", "microservice_port" : 80, "microservice_labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ], "microservice_info" : { "service_type" : "CCE", "cce_info" : { "cluster_id" : "ab1485b4f91b45abbcd560be591f7309", "namespace" : "default", "workload_type" : "deployment", "app_name" : "testapp" } } }
Ejemplo de respuestas
Código de estado: 200
OK
-
Ejemplo 1
{ "name" : "VPC_demo", "port" : 22, "balance_strategy" : 2, "member_type" : "ip", "dict_code" : "", "create_time" : "2020-07-23T07:11:57Z", "id" : "18174f5f4f1a4dc29f33aeadd9788e5f", "status" : 1, "member_groups" : [ { "member_group_id" : "c1ce135c705c4066853a0460b318fe16", "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" }, { "member_group_id" : "c1ce135c705c4066853a0460b318fe17", "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } ], "type" : 2, "microservice_info" : { "id" : "", "project_id" : "", "instance_id" : "", "service_type" : "", "cse_info" : { "cse_app_id" : "", "engine_id" : "", "engine_name" : "", "register_address" : "", "service_id" : "", "service_name" : "" }, "cce_info" : { "cluster_id" : "", "cluster_name" : "", "namespace" : "", "workload_type" : "", "app_name" : "" }, "create_time" : "", "update_time" : "" } }
-
Ejemplo 2
{ "name" : "VPC_demo", "id" : "105c6902457144a4820dff8b1ad63331", "balance_strategy" : 1, "dict_code" : "", "create_time" : "2020-07-23T07:11:57.244829604Z", "member_type" : "ip", "port" : 22, "status" : 1, "member_groups" : [ { "member_group_id" : "c1ce135c705c4066853a0460b318fe16", "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z", "microservice_version" : "v1", "microservice_port" : 80 }, { "member_group_id" : "c1ce135c705c4066853a0460b318fe17", "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z", "microservice_version" : "v2", "microservice_port" : 80, "microservice_labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] } ], "type" : 3, "microservice_info" : { "id" : "9483afa235be45158a70c19ab817ac65", "project_id" : "73d69ae0cfcf460190522d06b60f05ad", "instance_id" : "f0fa1789-3b76-433b-a787-9892951c620e", "service_type" : "CCE", "cse_info" : { "cse_app_id" : "", "engine_id" : "", "engine_name" : "", "register_address" : "", "service_id" : "", "service_name" : "" }, "cce_info" : { "cluster_id" : "ab1485b4f91b45abbcd560be591f7309", "cluster_name" : "cce-test", "namespace" : "default", "workload_type" : "deployment", "app_name" : "testapp" }, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } }
Código de estado: 400
Bad Request
{ "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified, parameter name:members" }
Código de estado: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Código de estado: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Código de estado: 404
Not Found
{ "error_code" : "APIG.3023", "error_msg" : "The VPC channel does not exist,id:56a7d7358e1b42459c9d730d65b14e59" }
Código de estado: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Códigos de error
Consulte Códigos de error.