Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-03-29 GMT+08:00

Creación de una política de limitación de solicitudes

Función

Después de que una API se conecte, el sistema le adjunta una política de limitación de solicitudes de forma predeterminada. El proveedor de API puede cambiar la política de limitación de solicitudes en función de las capacidades de servicio y la carga de la API.

Una política de limitación de solicitudes restringe el número máximo de veces que se puede llamar a una API dentro de un período especificado.

URI

La siguiente tabla muestra el método de solicitud HTTP/HTTPS y el URI de la API.

Tabla 1 Método de solicitud de HTTP/HTTPS y URI

Método de solicitud

URI

POST

/v1.0/apigw/throttles

Solicitud

Tabla 2 Descripción de parámetro

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de la política de limitación de solicitudes

El nombre de una política de limitación de solicitud consta de 3 a 64 caracteres, comenzando con una letra. Solo se permiten letras, dígitos y guiones bajos (_).

api_call_limits

Integer

Número máximo de veces que se puede acceder a una API dentro de un período especificado. El valor de este parámetro no puede exceder el límite predeterminado 200 TPS. Puede cambiar el límite predeterminado para cumplir con los requisitos de servicio. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo.

user_call_limits

No

Integer

Número máximo de veces que un usuario puede acceder a la API dentro del mismo período. El valor de este parámetro debe ser menor o igual que el de api_call_limits. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo.

app_call_limits

No

Integer

Número máximo de veces que una aplicación puede acceder a la API dentro del mismo período. El valor de este parámetro debe ser menor o igual que el de user_call_limits. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo.

ip_call_limits

No

Integer

Número máximo de veces que se puede acceder a la API mediante una dirección IP dentro del mismo período. El valor de este parámetro debe ser menor o igual que el de api_call_limits. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo.

time_interval

Integer

Período de tiempo para limitar el número de llamadas a la API. Este parámetro se aplica a cada uno de los tres límites de invocaciones a la API anteriores. El valor máximo es de 2,147,483,647. Ingrese un número entero positivo.

time_unit

String

Unidad de tiempo, que puede ser:

  • SECOND
  • MINUTE
  • HOUR
  • DAY

remark

No

String

Descripción de la política de limitación de solicitudes

La descripción no puede superar los 255 caracteres.

type

No

Integer

Tipo de la política de limitación de solicitudes, que puede ser:

  • 1: exclusivo, limitando el número máximo de veces que se puede invocar a una API dentro del período especificado.
  • 2: compartido, limitando el número máximo de veces que se puede invocar a todas las API dentro del período especificado.

enable_adaptive_control

No

String

Habilitación del estado de la limitación dinámica de solicitudes

  • TRUE
  • FALSE

Esta función no se encuentra disponible actualmente.

Ejemplo de solicitud:

{
	"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"
}

Respuesta

Tabla 3 Descripción de parámetro

Parámetro

Tipo

Descripción

id

String

ID de la política de limitación de solicitudes

name

String

Nombre de la política de limitación de solicitudes

api_call_limits

Integer

Número máximo de veces que se puede acceder a una API dentro de un período especificado

user_call_limits

Integer

Número máximo de veces que un usuario puede acceder a la API dentro del mismo período

app_call_limits

Integer

Número máximo de veces que una aplicación puede acceder a la API dentro del mismo período

ip_call_limits

Integer

Número máximo de veces que se puede acceder a la API mediante una dirección IP dentro del mismo período

time_interval

Integer

Período de tiempo para limitar el número de invocaciones a la API

time_unit

String

Unidad de tiempo para limitar el número de invocaciones de API

remark

String

Descripción de la política de limitación de solicitudes

create_time

Timestamp

Hora en la que se crea la política de limitación de solicitudes

is_include_special_throttle

Integer

Indica si se ha creado una configuración de limitación de solicitud excluida. El valor puede ser:

  • 1: sí
  • 2: no

type

Integer

Tipo de la política de limitación de solicitudes, que puede ser:

  • 1: exclusive
  • 2: shared

bind_num

Integer

Número de API a las que se ha enlazado la política de limitación de solicitudes

enable_adaptive_control

String

Habilitación del estado de la limitación dinámica de solicitudes

  • TRUE
  • FALSE

Esta función no se encuentra disponible actualmente.

Ejemplo de respuesta:

{
	"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 estado

Tabla 4 Códigos de estado

Código de estado

Descripción

201

Created

400

Bad Request

401

Unauthorized

500

Server Internal Error