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

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

Función

La política de limitación de solicitudes vinculada a una API controlará el acceso de todos los usuarios a la API.Si el número de llamadas a la API dentro de un período especificado alcanza el límite, el acceso posterior se rechazará, proteger la API de backend del tráfico anormal y garantizar una ejecución estable del servicio.Esta API se utiliza para vincular una política de limitación de solicitudes a una API que se ha publicado en un entorno. Puede vincular diferentes políticas de limitación de solicitudes a una API en entornos diferentes, pero solo puede vincular una política de limitación de solicitudes a la API en cada entorno.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener detalles sobre cómo obtener un ID de proyecto, consulte "Apéndice" > "Obtención de un ID de proyecto" en este documento.

instance_id

String

Gateway ID, que se puede obtener de la información de gateway en la consola APIG.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener llamando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

strategy_id

String

Solicitud de ID de política de limitación.

Mínimo: 1

Máximo: 65

publish_ids

Array of strings

ID de registro de publicación de API.

Parámetros de respuesta

Código de estado: 201

Tabla 4 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

throttle_applys

Array of ThrottleApiBinding objects

Solicitar registros de vinculación de políticas de limitación.

Tabla 5 ThrottleApiBinding

Parámetro

Tipo

Descripción

publish_id

String

ID de registro de publicación de API.

scope

Integer

Alcance de la política.

  • 1: la API

  • 2: un usuario

  • 3: una aplicación

Actualmente, solo se admite "1".

Valores de enumeración:

  • 1

  • 2

  • 3

strategy_id

String

Solicitud de ID de política de limitación.

apply_time

String

Hora de vinculación.

id

String

ID de registro de vinculación.

Código de estado: 401

Tabla 6 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 403

Tabla 7 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 404

Tabla 8 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 9 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Solicitudes de ejemplo

{
  "publish_ids" : [ "40e7162dc6b94bbbbb1a60d2a24b1b0c" ],
  "strategy_id" : "3437448ad06f4e0c91a224183116e965"
}

Ejemplo de respuestas

Código de estado: 201

Created

{
  "throttle_applys" : [ {
    "publish_id" : "40e7162dc6b94bbbbb1a60d2a24b1b0c",
    "scope" : 1,
    "strategy_id" : "3437448ad06f4e0c91a224183116e965",
    "apply_time" : "2020-08-03T12:25:52.257613934Z",
    "id" : "3e06ac135e18477e918060d3c59d6f6a"
  } ]
}

Código de estado: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de estado: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de estado: 404

Not Found

{
  "error_code" : "APIG.3005",
  "error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist"
}

Código de estado: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de estado

Código de estado

Descripción

201

Created

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Códigos de error

Consulte Códigos de error.