En esta página se describe cómo usar la API Service Consumer Management para ver y anular los límites de cuota aplicados a consumidores concretos de tu servicio.
Familiarízate con el modelo de cuotas de servicio para entender mejor la terminología que se usa en este tutorial.
Para programar con la API Service Infrastructure, te recomendamos que uses una de las bibliotecas de cliente que proporcionamos. Para experimentar con la API, puedes seguir las instrucciones de esta guía y usar el comando curl para probar la API sin configurar un entorno de desarrollo de aplicaciones completo.
Mostrar cuota de servicio
Para mostrar las métricas y los límites de cuota de servicio, sigue estos pasos:
Para usar
gcurl, ejecuta el siguiente comandoaliascon el token de autenticación:alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'Para obtener más información, consulta Habilitar la API Usage de Servicio.
Para ver todos los límites de cuota de todas las métricas que se aplican a un consumidor concreto, usa el siguiente método:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/SERVICE_NAME/projects/PROJECT_ID/consumerQuotaMetricsHaz los cambios siguientes:
SERVICE_NAME: el nombre de tu servicio.PROJECT_ID: el ID del proyecto de consumidor de interés.
Esta llamada responde con una lista de métricas definidas por el servicio. Cada una de ellas incluye la lista de límites de esas métricas que se aplican a este consumidor, los valores de esos límites y cualquier sustitución. A continuación se muestra 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 de la respuesta tiene un campo "name". Para inspeccionar la configuración de cuota de esa métrica en concreto, en lugar de la de todas las métricas, usa su nombre en la URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/METRIC_NAMESustituye
METRIC_NAMEpor el nombre completo de la métrica. Por ejemplo:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requestsCada límite de una métrica tiene un campo de nombre. Para inspeccionar la configuración de cuota de ese límite en esa métrica en concreto, en lugar de todos los límites de una métrica o de todas las métricas, use su nombre en la URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAMESustituye
LIMIT_NAMEpor el nombre completo del límite. Por ejemplo:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject
Aplicar una anulación de productor
El propietario o el administrador de un servicio pueden aplicar una anulación de productor a un límite específico de un consumidor concreto, lo que supone un aumento de la cuota de ese límite.
Para identificar un límite, primero usa uno de los métodos anteriores para encontrar el límite de cuota que te interese y usa su campo de nombre para aplicarle una anulación de productor:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "12345"} }'Esta llamada se puede usar para aplicar una nueva anulación o actualizar una anulación a un nuevo valor. Para asignar una cuota ilimitada a un límite, usa "-1" como valor de sustitución.
Si la llamada se realiza correctamente, devuelve un identificador de operación, que representa el trabajo en curso en el servidor, a medida que el cambio de cuota se propaga a los sistemas backend:
{ "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7" }Para comprobar el progreso de la operación, usa su nombre:
gcurl https://serviceconsumermanagement.googleapis.com/v1/OPERATION_NAMECuando esta llamada responda con un mensaje que incluya "done":true, la operación habrá finalizado. Si la operación falla, el mensaje incluye detalles del error.
También puedes comprobar si se ha aplicado un cambio repitiendo la llamada get original en el límite específico. El límite ahora debe tener un campo
producerOverrideadicional.
Forzar cambios grandes en la cuota
Si una anulación provoca que la cuota obligatoria disminuya en más de un 10%, se rechaza la llamada como medida de seguridad para evitar que la cuota disminuya demasiado rápido por error. Para ignorar esta restricción, usa la marca "force":
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
Aplicar anulaciones de cuota regionales o zonales
Algunos límites de cuota se aplican por región o por zona, lo que se indica con la presencia de /{region} o /{zone} en la unidad del límite.
Si aplicas una anulación a este límite, se cambiará la cuota base de cada región o zona. Para cambiar la cuota de una región o zona específica, utiliza el campo location:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'