Creación de una política de limitación de solicitudes
Función
Después de que una API se conecte, el sistema le adjunta una política de limitación de solicitudes de forma predeterminada. El proveedor de API puede cambiar la política de limitación de solicitudes en función de las capacidades de servicio y la carga de la API.
Una política de limitación de solicitudes restringe el número máximo de veces que se puede invocar a una API dentro de un período especificado.
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}/throttles
|
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 |
|---|---|---|---|
|
app_call_limits |
No |
Integer |
Número máximo de veces que una aplicación puede acceder a la API dentro del mismo período. El valor de este parámetro no puede exceder el límite de invocaciones de usuario. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
name |
Sí |
String |
Nombre de la política de limitación de solicitud. Puede contener de 3 a 64 caracteres, comenzando con una letra. Solo se permiten letras, dígitos y guiones bajos (_). |
|
time_unit |
Sí |
String |
Unidad de tiempo para limitar el número de invocaciones de API. |
|
remark |
No |
String |
Descripción de la política de limitación de solicitudes, que puede contener un máximo de 255 caracteres. |
|
api_call_limits |
Sí |
Integer |
Número máximo de veces que se puede acceder a una API dentro de un período especificado. El valor de este parámetro no puede exceder el límite predeterminado de 200 TPS. Puede cambiar el límite predeterminado para cumplir con los requisitos de servicio. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
type |
No |
Integer |
Tipo de la política de limitación de solicitud.
|
|
enable_adaptive_control |
No |
String |
Indica si se activa la limitación dinámica de solicitudes.
Actualmente, este parámetro no es compatible. |
|
user_call_limits |
No |
Integer |
Número máximo de veces que un usuario puede acceder a la API dentro del mismo período. El valor de este parámetro no puede exceder el valor máximo. Solicitudes de API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
time_interval |
Sí |
Integer |
Período de tiempo para limitar el número de invocaciones a la API. Este parámetro se aplica con cada límite de invocaciones a la API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
ip_call_limits |
No |
Integer |
Número máximo de veces que se puede acceder a la API mediante una dirección IP dentro del mismo período. El valor de este parámetro no puede exceder el límite de invocaciones de API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
Parámetros de respuesta
Código de estado: 201
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
app_call_limits |
Integer |
Número máximo de veces que una aplicación puede acceder a la API dentro del mismo período. El valor de este parámetro no puede exceder el límite de invocaciones de usuario. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
name |
String |
Nombre de la política de limitación de solicitud. Puede contener de 3 a 64 caracteres, comenzando con una letra. Solo se permiten letras, dígitos y guiones bajos (_). |
|
time_unit |
String |
Unidad de tiempo para limitar el número de invocaciones de API. |
|
remark |
String |
Descripción de la política de limitación de solicitudes, que puede contener un máximo de 255 caracteres. |
|
api_call_limits |
Integer |
Número máximo de veces que se puede acceder a una API dentro de un período especificado. El valor de este parámetro no puede exceder el límite predeterminado de 200 TPS. Puede cambiar el límite predeterminado para cumplir con los requisitos de servicio. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
type |
Integer |
Tipo de la política de limitación de solicitud.
|
|
enable_adaptive_control |
String |
Indica si se activa la limitación dinámica de solicitudes.
Actualmente, este parámetro no es compatible. |
|
user_call_limits |
Integer |
Número máximo de veces que un usuario puede acceder a la API dentro del mismo período. El valor de este parámetro no puede exceder el valor máximo. Solicitudes de API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
time_interval |
Integer |
Período de tiempo para limitar el número de invocaciones a la API. Este parámetro se aplica con cada límite de invocaciones a la API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
ip_call_limits |
Integer |
Número máximo de veces que se puede acceder a la API mediante una dirección IP dentro del mismo período. El valor de este parámetro no puede exceder el límite de invocaciones de API. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo. |
|
id |
String |
ID de política de limitación de solicitud. |
|
bind_num |
Integer |
Número de API a las que se ha enlazado la política de limitación de solicitudes. |
|
is_inclu_special_throttle |
Integer |
Indica si se ha creado una configuración de limitación de solicitud excluida.
|
|
create_time |
String |
Tiempo de creación. |
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: 500
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Ejemplo de las solicitudes
Creación de una política de limitación de solicitudes (máximo de solicitudes de API: 800; máximo de solicitudes de usuarios: 500; máximo de solicitudes de aplicaciones: 300; máximo de solicitudes de direcciones IP: 600; período: 1 s)
{
"api_call_limits" : 800,
"app_call_limits" : 300,
"enable_adaptive_control" : "FALSE",
"ip_call_limits" : 600,
"name" : "throttle_demo",
"remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
"time_interval" : 1,
"time_unit" : "SECOND",
"type" : 1,
"user_call_limits" : 500
}
Ejemplo de respuestas
Código de estado: 201
Creado
{
"name" : "throttle_demo",
"create_time" : "2020-07-31T08:44:02.205366118Z",
"remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
"type" : 1,
"time_interval" : 1,
"ip_call_limits" : 600,
"app_call_limits" : 300,
"time_unit" : "SECOND",
"api_call_limits" : 800,
"id" : "3437448ad06f4e0c91a224183116e965",
"user_call_limits" : 500,
"enable_adaptive_control" : "FALSE",
"bind_num" : 0,
"is_inclu_special_throttle" : 2
}
Código de estado: 400
Error en la solicitud
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}
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: 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 |
|
400 |
Error en la solicitud |
|
401 |
Sin autorización |
|
403 |
Prohibido |
|
500 |
Error del servidor interno |
Códigos de error
Consulte Códigos de error.