QuotaFailure

Beschreibt, wie eine Kontingentprüfung fehlgeschlagen ist.

Wenn beispielsweise ein Tageslimit für das aufrufende Projekt überschritten wurde, könnte ein Dienst mit einem QuotaFailure-Detail antworten, das die Projekt-ID und die Beschreibung des überschrittenen Kontingentlimits enthält. Wenn der Dienst im aufrufenden Projekt in der Entwicklerkonsole nicht aktiviert ist, kann ein Dienst mit der Projekt-ID antworten und service_disabled auf „true“ setzen.

Weitere Informationen zur Behandlung von Kontingentfehlern finden Sie auch unter „RetryInfo“ und „Help“.

JSON-Darstellung
{
  "violations": [
    {
      object (Violation)
    }
  ]
}
Felder
violations[]

object (Violation)

Beschreibt alle Kontingentüberschreitungen.

Verstoß

Ein Nachrichtentyp, der zur Beschreibung eines einzelnen Kontingentverstoßes verwendet wird. Beispiel: Ein Tageskontingent oder ein benutzerdefiniertes Kontingent wurde überschritten.

JSON-Darstellung
{
  "subject": string,
  "description": string,
  "apiService": string,
  "quotaMetric": string,
  "quotaId": string,
  "quotaDimensions": {
    string: string,
    ...
  },
  "quotaValue": string,
  "futureQuotaValue": string
}
Felder
subject

string

Das Subjekt, bei dem die Kontingentprüfung fehlgeschlagen ist. Beispiel: „clientip:“ oder „project:“.

description

string

Eine Beschreibung, wie die Kontingentprüfung fehlgeschlagen ist. Clients können anhand dieser Beschreibung mehr über die Kontingentkonfiguration in der öffentlichen Dokumentation des Dienstes erfahren oder das entsprechende Kontingentlimit finden, das über die Entwicklerkonsole angepasst werden soll.

Beispiel: „Service disabled“ (Dienst deaktiviert) oder „Daily Limit for read operations exceeded“ (Tägliches Limit für Lesevorgänge überschritten).

apiService

string

Der API-Dienst, aus dem QuotaFailure.Violation stammt. In einigen Fällen stammen Kontingentprobleme von einem anderen API-Dienst als dem, der aufgerufen wurde. Mit anderen Worten: Eine Abhängigkeit des aufgerufenen API-Dienstes könnte die Ursache für QuotaFailure sein. In diesem Feld würde der Name des API-Dienstes der Abhängigkeit stehen.

Wenn die aufgerufene API beispielsweise die Kubernetes Engine API (container.googleapis.com) ist und ein Kontingentverstoß in der Kubernetes Engine API selbst auftritt, wäre dieser Wert „container.googleapis.com“. Wenn der Kontingentverstoß hingegen auftritt, wenn die Kubernetes Engine API VMs in der Compute Engine API (compute.googleapis.com) erstellt, ist in diesem Feld „compute.googleapis.com“ angegeben.

quotaMetric

string

Der Messwert des verletzten Kontingents. Ein Kontingentmesswert ist ein benannter Zähler zum Messen der Nutzung, z. B. API-Anfragen oder CPUs. Wenn in einem Dienst eine Aktivität stattfindet, z. B. die Zuweisung einer virtuellen Maschine, können ein oder mehrere Kontingentmesswerte betroffen sein.

Beispiele: „compute.googleapis.com/cpus_per_vm_family“, „storage.googleapis.com/internet_egress_bandwidth“.

quotaId

string

Die ID des verletzten Kontingents. Dies ist die eindeutige Kennung eines Kontingents im Kontext eines API-Dienstes. Sie wird auch als „Name des Limits“ bezeichnet.

Beispiel: „CPUS-PER-VM-FAMILY-per-project-region“.

quotaDimensions

map (key: string, value: string)

Die Dimensionen des überschrittenen Kontingents. Jedes nicht globale Kontingent wird für eine Reihe von Dimensionen durchgesetzt. Mit dem Kontingentmesswert wird definiert, was gezählt werden soll, und mit den Dimensionen wird angegeben, für welche Aspekte der Zähler erhöht werden soll.

Das Kontingent „CPUs pro Region und VM-Familie“ erzwingt beispielsweise ein Limit für den Messwert „compute.googleapis.com/cpus_per_vm_family“ für die Dimensionen „region“ und „vm_family“. Wenn der Verstoß in der Region „us-central1“ und für die VM-Familie „n1“ aufgetreten ist, wären die quotaDimensions:

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

Wenn ein Kontingent global erzwungen wird, sind die quotaDimensions immer leer.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

quotaValue

string (int64 format)

Der erzwungene Kontingentwert zum Zeitpunkt des QuotaFailure.

Wenn der erzwungene Kontingentwert zum Zeitpunkt des QuotaFailure für die Anzahl der CPUs beispielsweise „10“ ist, spiegelt der Wert dieses Felds diese Menge wider.

futureQuotaValue

string (int64 format)

Der neue Kontingentwert, der zum Zeitpunkt des Verstoßes eingeführt wird. Nach Abschluss des Roll-outs wird dieser Wert anstelle von „quotaValue“ erzwungen. Wenn zum Zeitpunkt des Verstoßes kein Roll-out läuft, ist dieses Feld nicht festgelegt.

Wenn zum Zeitpunkt des Verstoßes beispielsweise ein Roll-out im Gange ist, bei dem das Kontingent für die Anzahl der CPUs von 10 auf 20 geändert wird, ist 20 der Wert dieses Felds.