ErrorInfo

Beschreibt die Ursache des Fehlers mit strukturierten Details.

Beispiel für einen Fehler beim Kontaktieren der API „pubsub.googleapis.com“, wenn sie nicht aktiviert ist:

{ "reason": "API_DISABLED"
  "domain": "googleapis.com"
  "metadata": {
    "resource": "projects/123",
    "service": "pubsub.googleapis.com"
  }
}

Diese Antwort gibt an, dass die pubsub.googleapis.com API nicht aktiviert ist.

Beispiel für einen Fehler, der zurückgegeben wird, wenn versucht wird, eine Spanner-Instanz in einer Region zu erstellen, in der keine Ressourcen verfügbar sind:

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
JSON-Darstellung
{
  "reason": string,
  "domain": string,
  "metadata": {
    string: string,
    ...
  }
}
Felder
reason

string

Der Grund für den Fehler. Dies ist ein konstanter Wert, der die unmittelbare Ursache des Fehlers angibt. Fehlerursachen sind innerhalb einer bestimmten Fehlerdomain eindeutig. Diese darf höchstens 63 Zeichen umfassen und mit dem regulären Ausdruck [A-Z][A-Z0-9_]+[A-Z0-9] für UPPER_SNAKE_CASE übereinstimmen.

domain

string

Die logische Gruppierung, zu der der "reason" gehört. Die Fehlerdomain ist in der Regel der registrierte Dienstname des Tools oder Produkts, das den Fehler generiert. Beispiel: „pubsub.googleapis.com“. Wenn der Fehler von einer gemeinsamen Infrastruktur generiert wird, muss die Fehlerdomain ein weltweit eindeutiger Wert sein, der die Infrastruktur identifiziert. Bei der Google API-Infrastruktur ist die Fehlerdomain „googleapis.com“.

metadata

map (key: string, value: string)

Zusätzliche strukturierte Details zu diesem Fehler.

Schlüssel müssen dem regulären Ausdruck [a-z][a-zA-Z0-9-_]+ entsprechen, sollten aber idealerweise in lowerCamelCase geschrieben sein. Außerdem dürfen sie maximal 64 Zeichen lang sein. Wenn der aktuelle Wert eines überschrittenen Limits benannt wird, sollten die Einheiten im Schlüssel enthalten sein, nicht im Wert. Beispielsweise sollte {"instanceLimitPerRequest": "100"} anstelle von {"instanceLimit": "100/request"} zurückgegeben werden, wenn der Client die Anzahl der Instanzen überschreitet, die in einer einzelnen Batchanfrage erstellt werden können.

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