Vinculación de una política de limitación de solicitudes
Función
La política de limitación de solicitudes vinculada a una API controlará el acceso de todos los usuarios a la API.
Si el número de invocaciones a la API dentro de un período especificado alcanza el límite, se rechazará el acceso posterior, protegiendo la API de backend del tráfico anormal y asegurando un funcionamiento estable del servicio.
Esta API se utiliza para vincular una política de limitación de solicitudes a una API que se ha publicado en un entorno. Puede vincular diferentes políticas de limitación de solicitudes a una API en entornos diferentes, pero solo puede vincular una política de limitación de solicitudes a la API en cada entorno.
Método de invocación
Para obtener más información, véase invocación de API.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
project_id |
Sí |
String |
ID del proyecto. Para obtener más información sobre cómo obtenerlo, véase Obtención de un ID de proyecto. |
|
instance_id |
Sí |
String |
ID de gateway, que se puede obtener de la información de gateway en la consola de APIG. |
Parámetros de solicitud
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener invocando 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 |
|---|---|---|---|
|
strategy_id |
Sí |
String |
ID de política de limitación de solicitud. Mínimo: 1 Máximo: 65 |
|
publish_ids |
Sí |
Array of strings |
ID de registro de publicación de API. |
Parámetros de respuesta
Código de estado: 201
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
throttle_applys |
Array of ThrottleApiBinding objects |
Registros de vinculación de políticas de limitación de solicitud. |
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
publish_id |
String |
ID de registro de publicación de API. |
|
scope |
Integer |
Alcance de la política.
Actualmente, solo se admite "1". |
|
strategy_id |
String |
ID de política de limitación de solicitud. |
|
apply_time |
String |
Hora de vinculación. |
|
id |
String |
ID de registro de vinculación. |
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. |
Ejemplo de las solicitudes
Vinculación de una política de limitación de solicitudes a una API
{
"publish_ids" : [ "40e7162dc6b94bbbbb1a60d2a24b1b0c" ],
"strategy_id" : "3437448ad06f4e0c91a224183116e965"
}
Ejemplo de respuestas
Código de estado: 201
Creado
{
"throttle_applys" : [ {
"publish_id" : "40e7162dc6b94bbbbb1a60d2a24b1b0c",
"scope" : 1,
"strategy_id" : "3437448ad06f4e0c91a224183116e965",
"apply_time" : "2020-08-03T12:25:52.257613934Z",
"id" : "3e06ac135e18477e918060d3c59d6f6a"
} ]
}
Código de estado: 401
Sin autorización
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Código de estado: 403
Prohibido
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Código de estado: 404
No se ha encontrado
{
"error_code" : "APIG.3005",
"error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist"
}
Código de estado: 500
Error del servidor interno
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Códigos de estado
|
Código de estado |
Descripción |
|---|---|
|
201 |
Creado |
|
401 |
Sin autorización |
|
403 |
Prohibido |
|
404 |
No se ha encontrado |
|
500 |
Error del servidor interno |
Códigos de error
Consulte Códigos de error.