Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-29 GMT+08:00

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

Tabela 1 Parâmetros de caminho

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

Tabela 2 Parâmetros do cabeçalho 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.

Tabela 3 Parâmetros de corpo de solicitação

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

Tabela 4 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

throttle_applys

Array of ThrottleApiBinding objects

Registros de vinculação de política de limitação de solicitação.

Tabela 5 ThrottleApiBinding

Parâmetro

Tipo

Descrição

publish_id

String

ID do registro de publicação da API.

scope

Integer

Escopo da política.

  • 1: a API

  • 2: um usuário

  • 3: uma aplicação

Atualmente, apenas "1" é suportado.

Valores de enumeração:

  • 1

  • 2

  • 3

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

Tabela 6 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 403

Tabela 7 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 404

Tabela 8 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 9 Parâmetros de corpo de resposta

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.