ErrorInfo

Opis przyczyny błędu ze szczegółowymi informacjami.

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ź wskazuje, że interfejs API pubsub.googleapis.com 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 identyfikuje bezpośrednią przyczynę błędu. Przyczyny błędów są unikalne w obrębie określonej domeny błędów. Musi mieć maksymalnie 63 znaki i pasować do wyrażenia regularnego [A-Z][A-Z0-9_]+[A-Z0-9], które reprezentuje UPPER_SNAKE_CASE.

domain

string

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

metadata

map (key: string, value: string)

Dodatkowe szczegółowe informacje o tym błędzie.

Klucze muszą pasować do wyrażenia regularnego [a-z][a-zA-Z0-9-_]+, ale najlepiej, aby były zapisane w formacie lowerCamelCase. Mogą też mieć maksymalnie 64 znaki. Podczas identyfikowania bieżącej 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 jednym żądaniu (pakietowym), zamiast {"instanceLimit": "100/request"} należy zwrócić {"instanceLimitPerRequest": "100"}.

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