En esta página se explica cómo puedes configurar las cuotas de tu API. A grandes rasgos, estos son los pasos que debes seguir:
- Añadir información sobre la cuota en el archivo de configuración de OpenAPI.
- Desplegar dicho archivo.
- Desplegar el proxy de servicios extensible.
Para obtener información general sobre la funcionalidad de las cuotas, consulta este artículo.
Añadir una cuota en el archivo de configuración de OpenAPI
En esta sección, te explicaremos cómo puedes añadir las extensiones necesarias al archivo de configuración de OpenAPI para definir cuotas. Para mayor comodidad, nos referiremos a dicho archivo como openapi.yaml
y las extensiones de OpenAPI se facilitarán únicamente en formato YAML.
En este procedimiento se presupone que ya has hecho lo siguiente:
- Has creado y desplegado la API.
- Has configurado la API para usar una clave de API. Esta acción es necesaria para que Cloud Endpoints pueda identificar el proyecto de Cloud al que está asociada la aplicación que realiza la llamada.
Para configurar las cuotas de tu API:
- Abre el archivo
openapi.yaml
de tu proyecto en un editor de texto. - Si aún no tienes la extensión
x-google-management
, añádela en el directorio raíz del archivo anterior, por encima de donde se definen las rutas. No incluyas sangrías ni anidaciones. -
Añade la definición de
metrics
enx-google-management
, con las sangrías correspondientes.x-google-management: metrics: - name: "[YOUR-METRIC-NAME]" displayName: "[YOUR-METRIC-DISPLAY-NAME]" valueType: INT64 metricKind: DELTA
- Reemplaza
[YOUR-METRIC-NAME]
por un nombre que describa el contador de peticiones de API. - Reemplaza
[YOUR-METRIC-DISPLAY-NAME]
por el texto que aparecerá en la página Cuotas del panel de Endpoints para identificar la métrica. - El valor del campo
valueType
debe serINT64
. - El valor del campo
metricKind
debe serDELTA
.
- Reemplaza
-
Añade un campo
quota
en el mismo nivel quemetrics
y, aparte, añade un campolimits
anidado en la secciónquota
.quota: limits: - name: "[YOUR-LIMIT-NAME]" metric: "[YOUR-METRIC-NAME]" unit: "1/min/{project}" values: STANDARD: [VALUE-FOR-THE-LIMIT]
- Reemplaza
[YOUR-LIMIT-NAME]
por un nombre que describa el límite. - Reemplaza
[YOUR-METRIC-NAME]
por un campometric.name
previamente definido. - El valor del campo
unit
debe ser"1/min/{project}"
. Este es el identificador del límite por minuto y proyecto. - El campo
values
debe contener el valorSTANDARD
. - Reemplaza
[VALUE-FOR-THE-LIMIT]
por un valor entero. Este es el número de peticiones que puede realizar en un minuto una aplicación asociada al proyecto de Cloud de un cliente.
- Reemplaza
-
Define otras métricas y límites para cada métrica (este paso es opcional).
-
En la sección
paths
deopenapi.yaml
, añade la extensiónx-google-quota
debajo de cada método al que quieras asignar una cuota. Debes aplicarle una sangría.x-google-quota: metricCosts: [YOUR-METRIC-NAME]: [YOUR-METRIC-COST]
- Reemplaza
[YOUR-METRIC-NAME]
por un campometric.name
previamente definido. - Reemplaza
[YOUR-METRIC-COST]
por un número entero. En cada petición, el recuento de peticiones de una métrica se incrementa por el número indicado en el coste.
- Reemplaza
-
Guarda
openapi.yaml
.
Consulta este documento sobre las extensiones de OpenAPI para ver más ejemplos y descripciones detalladas de las extensiones x-google-management
y x-google-quota
.
Desplegar openapi.yaml y el proxy de servicios extensible
Para que la cuota surta efecto, debes hacer lo siguiente:
- Desplegar
openapi.yaml
en Service Management, que actualizará la configuración de Cloud Endpoints. - Desplegar el proxy de servicios extensible. Los pasos que debes seguir pueden variar en función del backend en el que hayas desplegado tu API.
Para obtener información más detallada, consulta este artículo sobre el despliegue del backend de la API.