Package google.rpc

Index

Fehlerinformation

Beschreibt die Fehlerursache mit strukturierten Details.

Beispiel für einen Fehler bei der Kontaktaufnahme mit der "pubsub.googleapis.com" API, 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 beim Versuch zurückgegeben wird, eine Spanner-Instanz in einer Region zu erstellen, die nicht auf Lager ist:

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

string

Die Ursache des Fehlers. 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 "Grund" 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 global eindeutiger Wert sein, der die Infrastruktur identifiziert. Bei der Google API-Infrastruktur lautet die Fehlerdomain „googleapis.com“.

metadata

map<string, string>

Weitere strukturierte Details zu diesem Fehler.

Schlüssel sollten "/[a-zA-Z0-9-_]/" entsprechen und auf 64 Zeichen beschränkt sein. Wenn der aktuelle Wert eines überschrittenen Limits ermittelt 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.

ResourceInfo

Beschreibt die Ressource, auf die zugegriffen wird.

Felder
resource_type

string

Ein Name für den Ressourcentyp, auf den zugegriffen wird, z.B. "sql-Tabelle", "cloud storage bucket", "file", "Google calendar"; oder die Typ-URL der Ressource: z.B. „type.googleapis.com/google.pubsub.v1.Topic“.

resource_name

string

Der Name der Ressource, auf die zugegriffen wird. Beispiel: Der Name eines freigegebenen Kalenders: „beispiel.de_4fghdhgsrgh@group.calendar.google.com“, wenn der aktuelle Fehler google.rpc.Code.PERMISSION_DENIED ist.

owner

string

Der Inhaber der Ressource (optional). Beispiel: "user:" oder "project:".

description

string

Beschreibt, welcher Fehler beim Zugriff auf diese Ressource auftritt. Wenn Sie beispielsweise ein Cloud-Projekt aktualisieren möchten, benötigen Sie möglicherweise die Berechtigung writer für das Entwicklerkonsolenprojekt.