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

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

Função

Depois que uma API fica on-line, o sistema anexa uma política de limitação de solicitações a ela por padrão. O provedor de API pode alterar a política de limitação de solicitações com base nos recursos de serviço e na carga da API.

Uma política de limitação de solicitações restringe o número máximo de vezes que uma API pode ser chamada dentro de um período especificado.

URI

A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.

Tabela 1 Método de solicitação HTTP/HTTPS e URI

Método de solicitação

URI

POST

/v1.0/apigw/throttles

Solicitação

Tabela 2 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome da política de limitação de solicitação

O nome de uma política de limitação de solicitações consiste de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

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.

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 deve ser menor ou igual ao de api_call_limits. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

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 deste parâmetro deve ser menor ou igual ao de user_call_limits. 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 deste parâmetro deve ser menor ou igual ao de api_call_limits. 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 um dos três limites de chamada de API anteriores. O valor máximo é 2.147.483.647. Insira um número inteiro positivo.

time_unit

Sim

String

Unidade de tempo, que pode ser:

  • SECOND
  • MINUTE
  • HOUR
  • DAY

remark

Não

String

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

A descrição não pode exceder 255 caracteres.

type

Não

Integer

Tipo da política de limitação de solicitações, que pode ser:

  • 1: exclusivo, limitando o número máximo de vezes que uma única API pode ser chamada dentro do período especificado.
  • 2: compartilhado, limitando o número máximo de vezes que todas as APIs podem ser chamadas dentro do período especificado.

enable_adaptive_control

Não

String

Habilitação do status da limitação de solicitações dinâmicas

  • TRUE
  • FALSE

Esta função não está disponível no momento.

Exemplo de solicitação:

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

Resposta

Tabela 3 Descrição do parâmetro

Parâmetro

Tipo

Descrição

id

String

ID da política de limitação de solicitação

name

String

Nome da política de limitação de solicitação

api_call_limits

Integer

Número máximo de vezes que uma API pode ser acessada dentro de um período especificado

user_call_limits

Integer

Número máximo de vezes que a API pode ser acessada por um usuário no mesmo período

app_call_limits

Integer

Número máximo de vezes que a API pode ser acessada por uma aplicação no mesmo período

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

time_interval

Integer

Período de tempo para limitar o número de chamadas de API

time_unit

String

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

remark

String

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

create_time

Timestamp

Hora em que a política de limitação de solicitações é criada

is_include_special_throttle

Integer

Indica se uma configuração de limitação de solicitação excluída foi criada. O valor pode ser:

  • 1: sim
  • 2: não

type

Integer

Tipo da política de limitação de solicitações, que pode ser:

  • 1: exclusivo
  • 2: compartilhado

bind_num

Integer

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

enable_adaptive_control

String

Habilitação do status da limitação de solicitações dinâmicas

  • TRUE
  • FALSE

Esta função não está disponível no momento.

Exemplo de resposta:

{
	"id": "0325b671-2d50-4614-9868-22102262695d",
	"name": "800_calls_per_second",
	"api_call_limits": 800,
	"user_call_limits": 500,
	"app_call_limits": 300,
        "ip_call_limits": 600,
	"time_interval": 1,
	"time_unit": "SECOND",
	"create_time": "2017-12-29T01:55:59.9904225Z",
	"remark": "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second",
	"is_inclu_special_throttle": 2,
        "type":1,
	"bind_num": 0,
        "enable_adaptive_control": "FALSE"
}

Códigos de status

Tabela 4 Códigos de status

Código de status

Descrição

201

Criado

400

Solicitação inválida

401

Não autorizado

500

Erro do servidor interno