ErrorInfo

使用结构化详细信息描述错误的原因。

未启用“pubsub.googleapis.com”API 时,联系该 API 时出现的错误示例:

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

此响应表明 pubsub.googleapis.com API 未启用。

尝试在缺货的区域中创建 Spanner 实例时返回的错误示例:

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
JSON 表示法
{
  "reason": string,
  "domain": string,
  "metadata": {
    string: string,
    ...
  }
}
字段
reason

string

错误的原因。这是一个常量值,用于标识错误的直接原因。错误原因在特定错误网域内是唯一的。此值不得超过 63 个字符,并且必须与正则表达式 [A-Z][A-Z0-9_]+[A-Z0-9](表示 UPPER_SNAKE_CASE)匹配。

domain

string

“原因”所属的逻辑分组。错误网域通常是生成错误的工具或产品的注册服务名称。示例:“pubsub.googleapis.com”。如果错误是由某些常见的基础设施生成的,则错误网域必须是标识该基础设施的全局唯一值。对于 Google API 基础架构,错误网域为“googleapis.com”。

metadata

map (key: string, value: string)

有关此错误的其他结构化详细信息。

键必须与正则表达式 [a-z][a-zA-Z0-9-_]+ 匹配,但最好采用 lowerCamelCase 格式。此外,长度不得超过 64 个字符。在确定超出限值的当前值时,单位应包含在键中,而不是值中。例如,如果客户端在单个(批量)请求中创建的实例数量超出上限,则应返回 {"instanceLimitPerRequest": "100"},而不是 {"instanceLimit": "100/request"}

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }