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 ( |
| Felder | |
|---|---|
violations[] |
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 |
Das Subjekt, bei dem die Kontingentprüfung fehlgeschlagen ist. Beispiel: „clientip: |
description |
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 |
Der API-Dienst, aus dem 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 |
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 |
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 |
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 |
quotaValue |
Der erzwungene Kontingentwert zum Zeitpunkt des Wenn der erzwungene Kontingentwert zum Zeitpunkt des |
futureQuotaValue |
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. |