Criação de uma política de limitação de solicitações
Função
Depois que uma API fica on-line, o sistema anexa uma política de limitação de solicitações a ela por padrão. O provedor de API pode alterar a política de limitação de solicitações com base nos recursos de serviço e na carga da API.
Uma política de limitação de solicitações restringe o número máximo de vezes que uma API pode ser chamada dentro de um período especificado.
URI
A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.
| Método de solicitação | URI |
|---|---|
| POST | /v1.0/apigw/throttles |
Solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome da política de limitação de solicitação O nome de uma política de limitação de solicitações consiste de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos. |
| api_call_limits | Sim | Integer | Número máximo de vezes que uma API pode ser acessada em um período especificado. O valor deste parâmetro não pode exceder o limite padrão 200 TPS. Você pode alterar o limite padrão para atender aos requisitos de serviço. O valor máximo é 2.147.483.647. Insira um número inteiro positivo. |
| user_call_limits | Não | Integer | Número máximo de vezes que a API pode ser acessada por um usuário no mesmo período. O valor deste parâmetro deve ser menor ou igual ao de api_call_limits. O valor máximo é 2.147.483.647. Insira um número inteiro positivo. |
| app_call_limits | Não | Integer | Número máximo de vezes que a API pode ser acessada por uma aplicação no mesmo período. O valor deste parâmetro deve ser menor ou igual ao de user_call_limits. O valor máximo é 2.147.483.647. Insira um número inteiro positivo. |
| ip_call_limits | Não | Integer | Número máximo de vezes que a API pode ser acessada por um endereço IP no mesmo período. O valor deste parâmetro deve ser menor ou igual ao de api_call_limits. O valor máximo é 2.147.483.647. Insira um número inteiro positivo. |
| time_interval | Sim | Integer | Período de tempo para limitar o número de chamadas de API. Esse parâmetro se aplica a cada um dos três limites de chamada de API anteriores. O valor máximo é 2.147.483.647. Insira um número inteiro positivo. |
| time_unit | Sim | String | Unidade de tempo, que pode ser:
|
| remark | Não | String | Descrição da política de limitação de solicitações A descrição não pode exceder 255 caracteres. |
| type | Não | Integer | Tipo da política de limitação de solicitações, que pode ser:
|
| enable_adaptive_control | Não | String | Habilitação do status da limitação de solicitações dinâmicas
Esta função não está disponível no momento. |
Exemplo de solicitação:
{
"api_call_limits": 800,
"user_call_limits": 500,
"app_call_limits": 300,
"ip_call_limits": 600,
"name": "800_calls_per_second",
"remark": "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
"time_interval": 1,
"time_unit": "SECOND"
} Resposta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da política de limitação de solicitação |
| name | String | Nome da política de limitação de solicitação |
| api_call_limits | Integer | Número máximo de vezes que uma API pode ser acessada dentro de um período especificado |
| user_call_limits | Integer | Número máximo de vezes que a API pode ser acessada por um usuário no mesmo período |
| app_call_limits | Integer | Número máximo de vezes que a API pode ser acessada por uma aplicação no mesmo período |
| ip_call_limits | Integer | Número máximo de vezes que a API pode ser acessada por um endereço IP no mesmo período |
| time_interval | Integer | Período de tempo para limitar o número de chamadas de API |
| time_unit | String | Unidade de tempo para limitar o número de chamadas de API |
| remark | String | Descrição da política de limitação de solicitações |
| create_time | Timestamp | Hora em que a política de limitação de solicitações é criada |
| is_include_special_throttle | Integer | Indica se uma configuração de limitação de solicitação excluída foi criada. O valor pode ser:
|
| type | Integer | Tipo da política de limitação de solicitações, que pode ser:
|
| bind_num | Integer | Número de APIs às quais a política de limitação de solicitações foi vinculada |
| enable_adaptive_control | String | Habilitação do status da limitação de solicitações dinâmicas
Esta função não está disponível no momento. |
Exemplo de resposta:
{
"id": "0325b671-2d50-4614-9868-22102262695d",
"name": "800_calls_per_second",
"api_call_limits": 800,
"user_call_limits": 500,
"app_call_limits": 300,
"ip_call_limits": 600,
"time_interval": 1,
"time_unit": "SECOND",
"create_time": "2017-12-29T01:55:59.9904225Z",
"remark": "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
"is_inclu_special_throttle": 2,
"type":1,
"bind_num": 0,
"enable_adaptive_control": "FALSE"
} Códigos de status
| Código de status | Descrição |
|---|---|
| 201 | Criado |
| 400 | Solicitação inválida |
| 401 | Não autorizado |
| 500 | Erro do servidor interno |