ErrorInfo

Описывает причину ошибки с подробным описанием.

Пример ошибки при обращении к API "pubsub.googleapis.com", если он не включен:

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

Этот ответ указывает на то, что API pubsub.googleapis.com не включен.

Пример ошибки, которая возвращается при попытке создать экземпляр Spanner в регионе, где товар отсутствует на складе:

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
JSON-представление
{
  "reason": string,
  "domain": string,
  "metadata": {
    string: string,
    ...
  }
}
Поля
reason

string

Причина ошибки. Это постоянное значение, определяющее непосредственную причину ошибки. Причины ошибок уникальны в рамках определенной области ошибок. Длина сообщения должна составлять не более 63 символов и соответствовать регулярному выражению [AZ][A-Z0-9_]+[A-Z0-9] , что обозначает UPPER_SNAKE_CASE.

domain

string

Логическая группа, к которой относится «причина». Домен ошибки обычно представляет собой зарегистрированное имя сервиса инструмента или продукта, генерирующего ошибку. Пример: «pubsub.googleapis.com». Если ошибка генерируется какой-либо общей инфраструктурой, домен ошибки должен быть глобально уникальным значением, идентифицирующим эту инфраструктуру. Для инфраструктуры Google API доменом ошибки является «googleapis.com».

metadata

map (key: string, value: string)

Дополнительные структурированные сведения об этой ошибке.

Ключи должны соответствовать регулярному выражению [az][a-zA-Z0-9-_]+ , но в идеале должны быть в нижнем регистре (lowerCamelCase). Кроме того, их длина должна быть ограничена 64 символами. При определении текущего значения превышенного лимита единицы измерения должны содержаться в ключе, а не в значении. Например, вместо {"instanceLimit": "100/request"} следует возвращать {"instanceLimitPerRequest": "100"} , если клиент превышает количество экземпляров, которые могут быть созданы в одном (пакетном) запросе.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .