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.