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 los consumidores individuales 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 nuestras bibliotecas de cliente. 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
En este tutorial, usaremos un proyecto llamado consumer-project-id
y un servicio llamado myservice.appspot.com
. En cada comando gcurl
, sustituye el servicio y el proyecto de consumidor que te interesen.
Para usar gcurl
, primero ejecuta el siguiente comando alias
con 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 Empezar.
Para ver todos los límites de cuota de todas las métricas que se aplican a un consumidor concreto, utiliza 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 las anulaciones. 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 la cuota de una métrica concreta en lugar de la de todas las métricas, usa su nombre en la URL:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}
Del mismo modo, cada 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 lugar de 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}
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/{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, devolverá 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/{name}
Cuando esta llamada responda con un mensaje que incluya "done":true, la operación habrá finalizado. Si la operación ha fallado, el mensaje incluirá los 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 debería tener un campo "producerOverride" adicional.
Forzar cambios importantes en las cuotas
Si una anulación provoca que la cuota obligatoria disminuya en más de un 10%, la llamada se rechaza 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/{name}/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
Aplicar sustituciones de cuotas regionales o por zonas
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 todas las regiones o zonas. Para cambiar la cuota de una región o zona concretas, utiliza el campo de ubicación:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/{name}/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'