Administrar cuotas para consumidores

Esta página describe cómo usar la API de Administración de consumidores de servicios para ver y anular los límites de cuota impuestos a los consumidores individuales de su servicio.

Asegúrese de familiarizarse con el modelo de cuota de servicio para comprender mejor la terminología utilizada en este tutorial.

Para programar soluciones basadas la API de Service Infrastructure, le recomendamos que utilice una de nuestras bibliotecas de cliente proporcionadas. Para experimentar con la API, puede seguir las instrucciones de esta guía y utilizar el comando de curl para probar la API sin configurar un entorno de desarrollo de aplicaciones completo.

Muestra la cuota de servicio

A los efectos de este tutorial, utilizaremos un proyecto llamado consumer-project-id y un servicio llamado myservice.appspot.com. En cada comando de gcurl, sustituya su propio servicio y proyecto de consumidor de interés.

Para ver todos los límites de cuota en todas las métricas que se aplican a un consumidor en particular, use el siguiente método:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics

Esta llamada responde con una lista de métricas definidas por el servicio, cada una con la lista de límites de esas métricas que se aplican a este consumidor, los valores de esos límites y cualquier anulación. Aquí tenemos un ejemplo de respuesta.

{
  "metrics": [
    {
      "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests",
      "metric": "airport_requests"
      "displayName": "Airport Requests"
      "consumerQuotaLimits": [
        {
          "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject",
          "metric": "airport_requests",
          "unit": "1/min/{project}",
          "quotaBuckets": [
            {
              "effectiveLimit": "5",
              "defaultLimit": "5",
            }
          ]
        }
      ],
    }
  ]
}

Cada métrica en la respuesta tiene un campo de nombre; a fin de inspeccionar solo la configuración de la cuota de esa métrica, en lugar de la de todas las métricas, use su nombre en la URL:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

Del mismo modo, cada límite dentro de una métrica tiene un campo de nombre; para inspeccionar solo la configuración de la cuota de ese límite en esa métrica, en lugar de la correspondiente a todos los límites de una métrica o todas las métricas, use su nombre en la URL:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}

Aplicación de una anulación del productor

El propietario o administrador de un servicio puede aplicar una anulación del productor a un límite específico para un consumidor específico, de modo que se otorgue un aumento de cuota en ese límite.

Para identificar un límite, primero use uno de los métodos anteriores a fin de buscar el límite de cuota determinado y use su campo de nombre para aplicarle una anulación del productor:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "12345"} }'

Esta llamada se puede utilizar para aplicar una nueva anulación o actualizar una anulación existente a un nuevo valor. Para otorgar una cuota ilimitada en un límite, use "-1" como valor de anulación.

Si se realiza correctamente la llamada, se mostrará un identificador de operación, que representa el trabajo en curso en el servidor, a medida que se propaga el cambio de cuota a los sistemas de backend:

{
  "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7"
}

Para verificar el progreso de la operación, use su nombre:

gcurl https://serviceconsumermanagement.googleapis.com/v1/{name}

Si esta llamada responde con un mensaje que incluye "done":true, la operación finalizó. Si la operación falla, el mensaje incluirá detalles del error.

También puede verificar si se aplicó un cambio mediante la repetición de la llamada “get” original en el límite específico. El límite ahora debería tener un campo adicional "producerOverride".

Aplicación de grandes cambios de cuota

Si una anulación ocasionaría que la cuota aplicada disminuya en más del 10%, la llamada se rechaza como medida de seguridad para evitar que la cuota se reduzca demasiado rápido por accidente. Para ignorar esta restricción, use la marca de aplicación:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'

Aplicación de anulaciones de cuotas regionales o zonales

Algunos límites de cuota se aplican por región o por zona; esto se indica por la presencia de /{region} o /{zone} en la unidad de límite.

La aplicación de una anulación a dicho límite cambia la cuota base en cada región o zona. Para cambiar la cuota solo en una región o una zona específica, use el campo de ubicación:

gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'