ErrorInfo

Mô tả nguyên nhân gây ra lỗi kèm theo thông tin chi tiết có cấu trúc.

Ví dụ về lỗi khi liên hệ với API "pubsub.googleapis.com" khi API này chưa được bật:

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

Phản hồi này cho biết API pubsub.googleapis.com chưa được bật.

Ví dụ về lỗi được trả về khi cố gắng tạo một phiên bản Spanner ở một khu vực hết hàng:

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
Biểu diễn dưới dạng JSON
{
  "reason": string,
  "domain": string,
  "metadata": {
    string: string,
    ...
  }
}
Trường
reason

string

Lý do xảy ra lỗi. Đây là một giá trị hằng số xác định nguyên nhân gần nhất gây ra lỗi. Lý do gây ra lỗi là duy nhất trong một miền lỗi cụ thể. Tên này chỉ được dài tối đa 63 ký tự và phải khớp với biểu thức chính quy [A-Z][A-Z0-9_]+[A-Z0-9], biểu thị UPPER_SNAKE_CASE.

domain

string

Nhóm logic mà "lý do" thuộc về. Miền lỗi thường là tên dịch vụ đã đăng ký của công cụ hoặc sản phẩm tạo ra lỗi. Ví dụ: "pubsub.googleapis.com". Nếu lỗi do một số cơ sở hạ tầng phổ biến tạo ra, thì miền lỗi phải là một giá trị duy nhất trên toàn cầu để xác định cơ sở hạ tầng đó. Đối với cơ sở hạ tầng API của Google, miền lỗi là "googleapis.com".

metadata

map (key: string, value: string)

Thông tin chi tiết có cấu trúc bổ sung về lỗi này.

Khoá phải khớp với biểu thức chính quy [a-z][a-zA-Z0-9-_]+ nhưng tốt nhất nên là lowerCamelCase. Ngoài ra, tên phải có độ dài tối đa là 64 ký tự. Khi xác định giá trị hiện tại của một hạn mức vượt quá, các đơn vị phải nằm trong khoá chứ không phải giá trị. Ví dụ: thay vì {"instanceLimit": "100/request"}, bạn nên trả về {"instanceLimitPerRequest": "100"} nếu ứng dụng khách vượt quá số lượng phiên bản có thể được tạo trong một yêu cầu (hàng loạt).

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.