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

Modificação de uma política de limitação de solicitações

Função

Esta API é usada para modificar as informações sobre uma política de limitação de solicitações.

URI

PUT /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}

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.

throttle_id

Sim

String

ID da política de limitação de solicitações.

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

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 desse parâmetro não pode exceder o limite de chamada do usuário. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

name

Sim

String

Solicitar nome da política de limitação. Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

time_unit

Sim

String

Unidade de tempo para limitar o número de chamadas de API.

Valores de enumeração:

  • SECOND

  • MINUTE

  • HOUR

  • DAY

remark

Não

String

Descrição da política de limitação de solicitações, que pode conter no máximo 255 caracteres.

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.

type

Não

Integer

Tipo da política de limitação de solicitação.

  • 1: baseado em API, limitando o número máximo de vezes que uma única API vinculada à política pode ser chamada dentro do período especificado.

  • 2: API compartilhada, limitando o número máximo de vezes que todas as APIs vinculadas à política podem ser chamadas dentro do período especificado.

Valores de enumeração:

  • 1

  • 2

enable_adaptive_control

Não

String

Indica se deve ser ativada a limitação de solicitações dinâmicas.

  • TRUE

  • FALSE

Atualmente, este parâmetro não é suportado.

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 não pode exceder o máximo solicitações de API. 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 limite de chamada de API. 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 desse parâmetro não pode exceder o limite de chamadas da API. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

app_call_limits

Integer

Número máximo de vezes que a API pode ser acessada por uma aplicação no mesmo período. O valor desse parâmetro não pode exceder o limite de chamada do usuário. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

name

String

Solicitar nome da política de limitação. Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

time_unit

String

Unidade de tempo para limitar o número de chamadas de API.

Valores de enumeração:

  • SECOND

  • MINUTE

  • HOUR

  • DAY

remark

String

Descrição da política de limitação de solicitações, que pode conter no máximo 255 caracteres.

api_call_limits

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.

type

Integer

Tipo da política de limitação de solicitação.

  • 1: baseado em API, limitando o número máximo de vezes que uma única API vinculada à política pode ser chamada dentro do período especificado.

  • 2: API compartilhada, limitando o número máximo de vezes que todas as APIs vinculadas à política podem ser chamadas dentro do período especificado.

Valores de enumeração:

  • 1

  • 2

enable_adaptive_control

String

Indica se deve ser ativada a limitação de solicitações dinâmicas.

  • TRUE

  • FALSE

Atualmente, este parâmetro não é suportado.

user_call_limits

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 não pode exceder o máximo solicitações de API. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

time_interval

Integer

Período de tempo para limitar o número de chamadas de API. Esse parâmetro se aplica a cada limite de chamada de API. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

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. O valor desse parâmetro não pode exceder o limite de chamadas da API. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

id

String

ID da política de limitação de solicitações.

bind_num

Integer

Número de APIs às quais a política de limitação de solicitações foi vinculada.

is_inclu_special_throttle

Integer

Indica se uma configuração de limitação de solicitação excluída foi criada.

  • 1: sim

  • 2: não

Valores de enumeração:

  • 1

  • 2

create_time

String

Tempo de criação.

Código de status: 400

Tabela 5 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: 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

{
  "name" : "throttle_demo",
  "remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
  "type" : 1,
  "time_interval" : 1,
  "ip_call_limits" : 600,
  "app_call_limits" : 300,
  "time_unit" : "SECOND",
  "api_call_limits" : 800,
  "user_call_limits" : 500
}

Exemplo de respostas

Código de status: 200

OK

{
  "name" : "throttle_demo",
  "create_time" : "2020-07-31T08:44:02.205366118Z",
  "remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
  "type" : 1,
  "time_interval" : 1,
  "ip_call_limits" : 600,
  "app_call_limits" : 300,
  "time_unit" : "SECOND",
  "api_call_limits" : 800,
  "id" : "3437448ad06f4e0c91a224183116e965",
  "user_call_limits" : 500,
  "enable_adaptive_control" : "FALSE",
  "bind_num" : 0,
  "is_inclu_special_throttle" : 2
}

Código de status: 400

Solicitação inválida

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

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

200

OK

400

Solicitação inválida

401

Não autorizado

403

Proibido

404

Não encontrado

500

Erro do servidor interno

Códigos de erro

Consulte Códigos de erro.