ErrorInfo

Opisuje przyczynę błędu ze szczegółami strukturalnymi.

Przykład błędu podczas kontaktowania się z interfejsem API „pubsub.googleapis.com”, gdy nie jest on włączony:

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

Ta odpowiedź oznacza, że interfejs pubsub.googleapis.com API nie jest włączony.

Przykład błędu zwracanego podczas próby utworzenia instancji Spannera w regionie, w którym nie ma dostępnych zasobów:

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

string

Przyczyna błędu. Jest to stała wartość, która określa bezpośrednią przyczynę błędu. Przyczyny błędów są unikalne w ramach określonej kategorii błędów. Powinien mieć maksymalnie 63 znaki i pasować do wyrażenia regularnego [A-Z][A-Z0-9_]+[A-Z0-9], które reprezentuje format UPPER_SNAKE_CASE.

domain

string

Grupa logiczna, do której należy „przyczyna”. Domena błędu to zwykle zarejestrowana nazwa usługi narzędzia lub produktu, który generuje błąd. Przykład: „pubsub.googleapis.com”. Jeśli błąd jest generowany przez jakąś wspólną infrastrukturę, domena błędu musi być globalnie unikalną wartością, która identyfikuje tę infrastrukturę. W przypadku infrastruktury interfejsu API Google domena błędu to „googleapis.com”.

metadata

map (key: string, value: string)

Dodatkowe szczegóły strukturalne dotyczące tego błędu.

Klucze muszą być zgodne z wyrażeniem regularnym [a-z][a-zA-Z0-9-_]+, ale najlepiej, aby były zapisane w formacie lowerCamelCase. Maksymalna długość to 64 znaki. Podczas określania aktualnej wartości przekroczonego limitu jednostki powinny być zawarte w kluczu, a nie w wartości. Jeśli np. klient przekroczy liczbę instancji, które można utworzyć w ramach jednego żądania (pakietowego), zamiast {"instanceLimit": "100/request"} powinna zostać zwrócona wartość {"instanceLimitPerRequest": "100"}.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }