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.