Vinculação de uma política de limitação de solicitação
Função
A política de limitação de solicitações vinculada a uma API controlará o acesso de todos os usuários à API. Se o número de chamadas de API dentro de um período especificado atingir o limite, o acesso subsequente será rejeitado, protegendo a API de back-end contra tráfego anormal e garantindo a execução estável do serviço. Esta API é usada para vincular uma política de limitação de solicitações a uma API que foi publicada em um ambiente. Você pode vincular diferentes políticas de limitação de solicitações a uma API em ambientes diferentes, mas pode vincular apenas uma política de limitação de solicitações à API em cada ambiente.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Apêndice" > "Obtenção de um ID de projeto" neste documento. |
instance_id |
Sim |
String |
ID do gateway, que pode ser obtido a partir das informações de gateway no console do APIG. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
strategy_id |
Sim |
String |
ID da política de limitação de solicitações. Mínimo: 1 Máximo: 65 |
publish_ids |
Sim |
Array of strings |
ID do registro de publicação da API. |
Parâmetros de resposta
Código de status: 201
Parâmetro |
Tipo |
Descrição |
---|---|---|
throttle_applys |
Array of ThrottleApiBinding objects |
Registros de vinculação de política de limitação de solicitação. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
publish_id |
String |
ID do registro de publicação da API. |
scope |
Integer |
Escopo da política.
Atualmente, apenas "1" é suportado. Valores de enumeração:
|
strategy_id |
String |
ID da política de limitação de solicitação. |
apply_time |
String |
Tempo de vinculação. |
id |
String |
Vinculação de ID do registro. |
Código de status: 401
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 403
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 404
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 500
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Exemplo de solicitações
{ "publish_ids" : [ "40e7162dc6b94bbbbb1a60d2a24b1b0c" ], "strategy_id" : "3437448ad06f4e0c91a224183116e965" }
Exemplo de respostas
Código de status: 201
Criado
{ "throttle_applys" : [ { "publish_id" : "40e7162dc6b94bbbbb1a60d2a24b1b0c", "scope" : 1, "strategy_id" : "3437448ad06f4e0c91a224183116e965", "apply_time" : "2020-08-03T12:25:52.257613934Z", "id" : "3e06ac135e18477e918060d3c59d6f6a" } ] }
Código de status: 401
Não autorizado
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Código de status: 403
Proibido
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Código de status: 404
Não encontrado
{ "error_code" : "APIG.3005", "error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist" }
Código de status: 500
Erro do servidor interno
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Códigos de status
Código de status |
Descrição |
---|---|
201 |
Criado |
401 |
Não autorizado |
403 |
Proibido |
404 |
Não encontrado |
500 |
Erro do servidor interno |
Códigos de erro
Consulte Códigos de erro.