ส่วนต่อไปอธิบายโมเดลข้อผิดพลาดสำหรับวิธีการทรัพยากร v2 และ v1 ตามลำดับ
รูปแบบข้อผิดพลาดทรัพยากร v2
โดยค่าเริ่มต้นวิธีการทรัพยากรตอบกลับด้วยสถานะ 200 OKเมื่อคำขอไม่สําเร็จ Open Cloud จะส่งรหัสข้อผิดพลาดมาตรฐานกลับคำตอบข้อผิดพลาดทั้งหมดมีรูปแบบเดียวกันซึ่งรวมถึง:
- code - รหัสHTTP
- message - ข้อความที่อธิบายข้อผิดพลาด
- details - วัตถุที่มีข้อมูลเพิ่มเติมเฉพาะเกี่ยวกับข้อผิดพลาด
ตัวอย่างข้อผิดพลาด
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
รหัส
ตารางต่อไปนี้อธิบายถึงค่าที่เป็นไปได้สำหรับ code
รหัส | สถานะ HTTP | คําอธิบาย |
---|---|---|
INVALID_ARGUMENT | 400 | คุณผ่านอาร์กิวเมนต์ที่ไม่ถูกต้อง เช่น ไม่ถูกต้อง universeId คุณอาจมีหัวข้อที่ขาดหายหรือไม่ถูกต้อง เช่น Content-Length และ Content-Type |
PERMISSION_DENIED | 403 | คำขอของคุณไม่มีสิทธิ์หรือขอบเขตเพียงพอที่จะดำเนินการด้วย |
NOT_FOUND | 404 | ระบบไม่สามารถหาทรัพยากรที่กำหนดไว้ของคุณ เช่น การเข้าสู่ร้านข้อมูล |
ABORTED | 409 | การดำเนินการถูกยกเลิก |
RESOURCE_EXHAUSTED | 429 | คุณไม่มีเควสเพียงพอที่จะดำเนินการตามที่ต้องการ โดยปกติเนื่องจากส่งคำขอมากเกินไป |
CANCELLED | 499 | ระบบสิ้นสุดคำขอโดยปกติเนื่องจากการหมดเวลาด้านลูกค้า |
INTERNAL | 500 | ข้อผิดพลาดภายในเซิร์ฟเวอร์มักเกิดจากข้อผิดพลาดของเซิร์ฟเวอร์ |
NOT_IMPLEMENTED | 501 | เซิร์ฟเวอร์ไม่ได้ใช้งานวิธี API |
UNAVAILABLE | 503 | บริการไม่สามารถใช้งานได้ มักจะกลับเมื่อเซิร์ฟเวอร์ดาวน์ |
รูปแบบข้อผิดพลาดทรัพยากร v1
คำตอบข้อผิดพลาดทั้งหมดมีรูปแบบมาตรฐานเดียวกันซึ่งรวมถึง:
- ฟิลด์ error ที่เป็นสาเหตุระดับสูงที่สามารถใช้กับจุดสิ้นสุดเมฆเปิดทั้งหมดได้
- ข้อผิดพลาดอธิบาย message ซึ่งอธิบายข้อผิดพลาดเพิ่มเติม
- วัตถุ errorDetails ซึ่งครอบคลุมข้อมูลของข้อผิดพลาดที่เฉพาะเจาะจงสำหรับแต่ละ API
เพื่อวิเคราะห์สาเหตุรากของข้อผิดพลาด โปรดดูค่าของฟิลด์ error และฟิลด์ errorDetailsใช้ฟิลด์ message เป็นส่วนเสริมสำหรับการจัดการข้อผิดพลาดเนื่องจากบางครั้งอาจไม่ครอบคลุมระดับรายละเอียดเดียวกับฟิลด์ errorDetails
ตอบสนองข้อผิดพลาดข้อมูลสตอร์มาตรฐานตัวอย่าง
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
คําตอบข้อผิดพลาดตัวอย่างแสดงการตอบสนองระดับสูงของ Open Cloud error เป็น INVALID_ARGUMENT ความผิดพลาด message เป็น InvalidCursor และ errorDetails เฉพาะสําหรับ เก็บข้อมูลข้อมูล ด้วย datastoreErrorCode เป็น InvalidCursorจากฟิลด์ error และ datastoreErrorCode ของคำตอบคุณสามารถเข้าใจได้ว่าคุณส่งพารามิเตอร์เคอร์เซอร์ที่ไม่ถูกต้องซึ่งทําให้เกิดข้อผิดพลาดจากนั้นคุณสามารถแก้ไขพารามิเตอร์เคอร์เซอร์เพื่อแก้ปัญหาได้
คำตอบข้อผิดพลาดของทุกร้านข้อมูลที่สั่งซื้อมีรูปแบบเดียวกันซึ่งรวมถึง:
ตัวอย่างคำตอบข้อผิดพลาดของ DataStores ที่จัดเรียงแล้ว
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code จะมีสตริงของข้อผิดพลาดระดับสูงในขณะที่ message จะมีรายละเอียดเฉพาะเกี่ยวกับข้อผิดพลาด
รหัส
อ้างอิงตารางต่อไปนี้เพื่อสรุปข้อผิดพลาดระดับสูงของ Open Cloud ทั้งหมด
รหัสสถานะ HTTP | ข้อผิดพลาด | คําอธิบาย |
---|---|---|
400 | อะกรณ์ไม่ถูกต้อง | คุณผ่านอาร์กิวเมนต์ที่ไม่ถูกต้อง เช่น ไม่ถูกต้อง universeId คุณอาจมีหัวข้อที่ขาดหายหรือไม่ถูกต้อง เช่น Content-Length และ Content-Type |
403 | สเกลไม่เพียงพอ | คำขอต้องการสิทธิ์สูงกว่าที่ให้โดยโทเค็นการเข้าถึง |
403 | สิทธิ์_ปฏิเสธ | คำขอของคุณมีขอบเขตไม่เพียงพอที่จะดำเนินการด้านนี้ |
404 | ไม่พบ | ระบบไม่สามารถหาทรัพยากรที่กำหนดไว้ของคุณ เช่น ร้านค้า |
409 | ถูกยกเลิก | การดำเนินการถูกยกเลิกเนื่องจากมีความขัดแย้ง เช่น การเผยแพร่สถานที่ที่ไม่เป็นส่วนหนึ่งของจักรวาล |
429 | ทรัพยากร_เหนื่อย | คุณไม่มีเควสเพียงพอที่จะดำเนินการตามที่ต้องการ โดยปกติเนื่องจากส่งคำขอมากเกินไป |
499 | ยกเลิก | ระบบสิ้นสุดคำขอโดยปกติเนื่องจากการหมดเวลาด้านลูกค้า |
500 | ภายใน | ข้อผิดพลาดภายในเซิร์ฟเวอร์ โดยปกติเป็นข้อผิดพลาดของเซิร์ฟเวอร์ |
501 | ไม่ได้รับการดําเนินการ | เซิร์ฟเวอร์ไม่ได้ใช้งานวิธี API |
503 | ไม่สามารถใช้ได้ | บริการไม่พร้อมใช้งาน โดยปกติเซิร์ฟเวอร์จะดาวน์ |