Configurar cuotas

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:

  1. Añadir información sobre la cuota en el archivo de configuración de OpenAPI.
  2. Desplegar dicho archivo.
  3. 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:

  1. Abre el archivo openapi.yaml de tu proyecto en un editor de texto.
  2. 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.
  3. Añade la definición de metrics en x-google-management, con las sangrías correspondientes.

    x-google-management:
      metrics:
        - name: "[YOUR-METRIC-NAME]"
          displayName: "[YOUR-METRIC-DISPLAY-NAME]"
          valueType: INT64
          metricKind: DELTA
    
    1. Reemplaza [YOUR-METRIC-NAME] por un nombre que describa el contador de peticiones de API.
    2. Reemplaza [YOUR-METRIC-DISPLAY-NAME] por el texto que aparecerá en la página Cuotas del panel de Endpoints para identificar la métrica.
    3. El valor del campo valueType debe ser INT64.
    4. El valor del campo metricKind debe ser DELTA.

  4. Añade un campo quota en el mismo nivel que metrics y, aparte, añade un campo limits anidado en la sección quota.

    quota:
      limits:
        - name: "[YOUR-LIMIT-NAME]"
          metric: "[YOUR-METRIC-NAME]"
          unit: "1/min/{project}"
          values:
            STANDARD: [VALUE-FOR-THE-LIMIT]
    
    1. Reemplaza [YOUR-LIMIT-NAME] por un nombre que describa el límite.
    2. Reemplaza [YOUR-METRIC-NAME] por un campo metric.name previamente definido.
    3. El valor del campo unit debe ser "1/min/{project}". Este es el identificador del límite por minuto y proyecto.
    4. El campo values debe contener el valor STANDARD.
    5. 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.

  5. Define otras métricas y límites para cada métrica (este paso es opcional).

  6. En la sección paths de openapi.yaml, añade la extensión x-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]
    
    1. Reemplaza [YOUR-METRIC-NAME] por un campo metric.name previamente definido.
    2. 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.

  7. 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:

  1. Desplegar openapi.yaml en Service Management, que actualizará la configuración de Cloud Endpoints.
  2. 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.