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.

