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 |