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

دلیل خطا. این یک مقدار ثابت است که علت تقریبی خطا را مشخص می‌کند. دلایل خطا در یک دامنه خاص از خطاها منحصر به فرد هستند. این باید حداکثر ۶۳ کاراکتر باشد و با یک عبارت منظم [AZ][A-Z0-9_]+[A-Z0-9] مطابقت داشته باشد که نشان دهنده UPPER_SNAKE_CASE است.

domain

string

گروه‌بندی منطقی که "دلیل" به آن تعلق دارد. دامنه خطا معمولاً نام سرویس ثبت‌شده ابزار یا محصولی است که خطا را ایجاد می‌کند. مثال: "pubsub.googleapis.com". اگر خطا توسط یک زیرساخت مشترک ایجاد شده باشد، دامنه خطا باید یک مقدار منحصر به فرد جهانی باشد که زیرساخت را مشخص می‌کند. برای زیرساخت API گوگل، دامنه خطا "googleapis.com" است.

metadata

map (key: string, value: string)

جزئیات ساختاریافته‌ی بیشتر در مورد این خطا.

کلیدها باید با یک عبارت منظم [az][a-zA-Z0-9-_]+ مطابقت داشته باشند، اما در حالت ایده‌آل باید lowerCamelCase باشند. همچنین، طول آنها باید به ۶۴ کاراکتر محدود شود. هنگام شناسایی مقدار فعلی یک محدودیت بیش از حد، واحدها باید در کلید باشند، نه در مقدار. برای مثال، به جای {"instanceLimit": "100/request"} ، باید به صورت {"instanceLimitPerRequest": "100"} برگردانده شود، اگر کلاینت از تعداد نمونه‌هایی که می‌تواند در یک درخواست (دسته‌ای) ایجاد شود، فراتر رود.

یک شیء شامل لیستی از جفت‌های "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .