รหัสข้อผิดพลาดตามรูปแบบบัญญัติสำหรับ gRPC API
บางครั้งอาจมีรหัสข้อผิดพลาดหลายรายการ บริการควรจะแสดงรหัสข้อผิดพลาดที่เกี่ยวข้องที่สุด เช่น ต้องการ OUT_OF_RANGE
มากกว่า FAILED_PRECONDITION
หากใช้รหัสทั้ง 2 รหัส ในทำนองเดียวกัน ให้ใช้ NOT_FOUND
หรือ ALREADY_EXISTS
มากกว่า FAILED_PRECONDITION
Enum | |
---|---|
OK |
ไม่ใช่ข้อผิดพลาด แสดงผลสำเร็จ การแมป HTTP: 200 OK |
CANCELLED |
โดยปกติผู้โทรยกเลิกการดำเนินการแล้ว การแมป HTTP: คำขอที่ปิดของไคลเอ็นต์แล้ว 499 |
UNKNOWN |
ข้อผิดพลาดที่ไม่รู้จัก ตัวอย่างเช่น ข้อผิดพลาดนี้อาจแสดงขึ้นเมื่อค่า การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์ |
INVALID_ARGUMENT |
ไคลเอ็นต์ระบุอาร์กิวเมนต์ไม่ถูกต้อง โปรดทราบว่าข้อมูลนี้แตกต่างจาก การแมป HTTP: 400 คำขอไม่ถูกต้อง |
DEADLINE_EXCEEDED |
กําหนดเวลาหมดอายุก่อนที่การดําเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ข้อผิดพลาดนี้อาจแสดงขึ้นแม้ว่าจะดำเนินการสำเร็จแล้วก็ตาม ตัวอย่างเช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจล่าช้าไปนานพอสมควรหมดอายุ การแมป HTTP: เกตเวย์ 504 หมดเวลา |
NOT_FOUND |
ไม่พบเอนทิตีที่ขอบางรายการ (เช่น ไฟล์หรือไดเรกทอรี) หมายเหตุถึงนักพัฒนาซอฟต์แวร์เซิร์ฟเวอร์: ระบบอาจใช้ การแมป HTTP: 404 ไม่พบ |
ALREADY_EXISTS |
มีเอนทิตีที่ไคลเอ็นต์พยายามสร้าง (เช่น ไฟล์หรือไดเรกทอรี) อยู่แล้ว การแมป HTTP: 409 เกิดความขัดแย้ง |
PERMISSION_DENIED |
ผู้โทรไม่มีสิทธิ์ดำเนินการที่ระบุ ต้องไม่ใช้ การแมป HTTP: 403 Forbidden |
UNAUTHENTICATED |
คำขอไม่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับการดำเนินการ การแมป HTTP: 401 ไม่ได้รับอนุญาต |
RESOURCE_EXHAUSTED |
ทรัพยากรบางส่วนหมดแล้ว ซึ่งอาจเป็นโควต้าสำหรับผู้ใช้แต่ละราย หรือระบบไฟล์ทั้งระบบไม่มีพื้นที่ว่าง การแมป HTTP: 429 มีคำขอมากเกินไป |
FAILED_PRECONDITION |
การดำเนินการถูกปฏิเสธเนื่องจากระบบไม่อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการ เช่น ไดเรกทอรีที่จะลบไม่ว่างเปล่า จะมีการใช้การดำเนินการ rmdir กับที่ไม่ใช่ไดเรกทอรี เป็นต้น ผู้ติดตั้งใช้งานบริการจะใช้หลักเกณฑ์ต่อไปนี้ในการตัดสินใจเลือกระหว่าง การแมป HTTP: 400 คำขอไม่ถูกต้อง |
ABORTED |
ล้มเลิกการดำเนินการแล้ว โดยทั่วไปจะเกิดจากปัญหาเกิดขึ้นพร้อมกัน เช่น การตรวจสอบลำดับไม่สำเร็จหรือล้มเลิกธุรกรรม ดูหลักเกณฑ์ด้านบนเพื่อตัดสินใจระหว่าง การแมป HTTP: 409 เกิดความขัดแย้ง |
OUT_OF_RANGE |
มีการพยายามดำเนินการหลังจากช่วงที่ถูกต้อง เช่น การกรอวิดีโอหรือการอ่านที่สิ้นสุดไฟล์ ข้อผิดพลาดนี้ต่างจาก มีความคาบเกี่ยวกันเล็กน้อยระหว่าง การแมป HTTP: 400 คำขอไม่ถูกต้อง |
UNIMPLEMENTED |
ไม่ได้ใช้การดำเนินการนี้ หรือไม่รองรับ/เปิดใช้ในบริการนี้ การแมป HTTP: 501 ไม่มีการใช้งาน |
INTERNAL |
ข้อผิดพลาดภายใน ซึ่งหมายความว่าค่าคงที่บางอย่างที่ระบบพื้นฐานคาดไว้เสียหาย รหัสข้อผิดพลาดนี้สงวนไว้สำหรับข้อผิดพลาดร้ายแรง การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์ |
UNAVAILABLE |
ไม่พร้อมให้บริการนี้ในขณะนี้ ปัญหานี้มักเป็นสภาวะชั่วคราว ซึ่งแก้ไขได้โดยการลองอีกครั้งโดยใช้ Backoff โปรดทราบว่าการลองใหม่กับการดำเนินการที่ไม่ใช่ ID ชั่วคราวอาจไม่ปลอดภัยเสมอไป ดูหลักเกณฑ์ด้านบนเพื่อตัดสินใจระหว่าง การแมป HTTP: บริการ 503 ไม่พร้อมใช้งาน |
DATA_LOSS |
ข้อมูลสูญหายหรือเสียหายโดยกู้คืนไม่ได้ การแมป HTTP: 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์ |