QuotaFailure

Describe cómo falló una verificación de cuota.

Por ejemplo, si se excedió un límite diario para el proyecto que realiza la llamada, un servicio podría responder con un detalle de QuotaFailure que contenga el ID del proyecto y la descripción del límite de cuota que se excedió. Si el proyecto que realiza la llamada no habilitó el servicio en la consola para desarrolladores, un servicio podría responder con el ID del proyecto y establecer service_disabled como verdadero.

Consulta también los tipos RetryInfo y Help para obtener otros detalles sobre el manejo de una falla de cuota.

Representación JSON
{
  "violations": [
    {
      object (Violation)
    }
  ]
}
Campos
violations[]

object (Violation)

Describe todos los incumplimientos de cuota.

Incumplimiento

Es un tipo de mensaje que se usa para describir un solo incumplimiento de la cuota. Por ejemplo, una cuota diaria o una cuota personalizada que se superó.

Representación JSON
{
  "subject": string,
  "description": string,
  "apiService": string,
  "quotaMetric": string,
  "quotaId": string,
  "quotaDimensions": {
    string: string,
    ...
  },
  "quotaValue": string,
  "futureQuotaValue": string
}
Campos
subject

string

Es el asunto sobre el que falló la verificación de la cuota. Por ejemplo, "clientip:" o "project:".

description

string

Es una descripción de cómo falló la verificación de cuota. Los clientes pueden usar esta descripción para obtener más información sobre la configuración de la cuota en la documentación pública del servicio o encontrar el límite de cuota pertinente para ajustarlo a través de la consola para desarrolladores.

Por ejemplo, "Servicio inhabilitado" o "Se excedió el límite diario para las operaciones de lectura".

apiService

string

Es el servicio de API desde el que se origina QuotaFailure.Violation. En algunos casos, los problemas de cuota se originan en un servicio de API diferente del que se llamó. En otras palabras, una dependencia del servicio de API llamado podría ser la causa del QuotaFailure, y este campo tendría el nombre del servicio de API de dependencia.

Por ejemplo, si la API llamada es la API de Kubernetes Engine (container.googleapis.com) y se produce un incumplimiento de la cuota en la propia API de Kubernetes Engine, este campo sería "container.googleapis.com". Por otro lado, si el incumplimiento de la cuota se produce cuando la API de Kubernetes Engine crea VMs en la API de Compute Engine (compute.googleapis.com), este campo sería "compute.googleapis.com".

quotaMetric

string

Es la métrica de la cuota incumplida. Una métrica de cuota es un contador con nombre para medir el uso, como las solicitudes a la API o las CPU. Cuando se produce una actividad en un servicio, como la asignación de máquinas virtuales, se pueden ver afectadas una o más métricas de cuota.

Por ejemplo, "compute.googleapis.com/cpus_per_vm_family" o "storage.googleapis.com/internet_egress_bandwidth".

quotaId

string

Es el ID de la cuota incumplida. También conocido como "nombre del límite", es el identificador único de una cuota en el contexto de un servicio de API.

Por ejemplo, "CPUS-PER-VM-FAMILY-per-project-region".

quotaDimensions

map (key: string, value: string)

Son las dimensiones de la cuota incumplida. Cada cuota no global se aplica a un conjunto de dimensiones. Si bien la métrica de cuota define qué se debe contar, las dimensiones especifican para qué aspectos se debe aumentar el contador.

Por ejemplo, la cuota "CPUs per region per VM family" aplica un límite a la métrica "compute.googleapis.com/cpus_per_vm_family" en las dimensiones "region" y "vm_family". Y si el incumplimiento ocurrió en la región "us-central1" y para la familia de VMs "n1", quotaDimensions sería el siguiente:

{ "region": "us-central1", "vm_family": "n1", }

Cuando se aplica una cuota de forma global, quotaDimensions siempre estará vacío.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

quotaValue

string (int64 format)

Es el valor de la cuota aplicada en el momento de la QuotaFailure.

Por ejemplo, si el valor de la cuota aplicada en el momento de QuotaFailure sobre la cantidad de CPU es "10", el valor de este campo reflejará esa cantidad.

futureQuotaValue

string (int64 format)

Es el nuevo valor de la cuota que se implementó en el momento del incumplimiento. Cuando se complete el lanzamiento, este valor se aplicará en lugar de quotaValue. Si no hay ningún lanzamiento en curso en el momento del incumplimiento, este campo no se establece.

Por ejemplo, si, en el momento del incumplimiento, se está realizando un lanzamiento que cambia la cuota de CPU de 10 a 20, 20 sería el valor de este campo.