الفهرس
الرمز
رموز الخطأ الأساسية لواجهات برمجة تطبيقات gRPC.
في بعض الأحيان قد يتم تطبيق رموز خطأ متعددة. يجب أن تعرض الخدمات رمز الخطأ الأكثر تحديدًا الذي ينطبق. على سبيل المثال، يمكنك تفضيل OUT_OF_RANGE
على FAILED_PRECONDITION
إذا كان كلا الرمزين. وبالمثل، يفضّلون NOT_FOUND
أو ALREADY_EXISTS
على FAILED_PRECONDITION
.
عمليات التعداد | |
---|---|
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 محظور |
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 |
هذه الخدمة غير متاحة حاليًا. هذه حالة عابرة على الأرجح، ويمكن تصحيحها عن طريق إعادة المحاولة بالتراجع. يُرجى العِلم أنّه ليس من الآمن دائمًا إعادة محاولة العمليات غير المقصودة. اطّلِع على الإرشادات الواردة أعلاه للاختيار بين تعيين HTTP: خدمة 503 غير متوفرة |
DATA_LOSS |
تلف أو فقدان بيانات غير قابل للإصلاح. تعيين HTTP: خطأ 500 في الخادم الداخلي |
الحالة
يحدّد النوع Status
نموذج خطأ منطقي مناسبًا لبيئات البرمجة المختلفة، بما في ذلك واجهات برمجة تطبيقات REST وواجهات برمجة تطبيقات RPC. وتُستخدَم من قِبل gRPC. تحتوي كل رسالة Status
على ثلاث بيانات: رمز الخطأ ورسالة الخطأ وتفاصيل الخطأ.
يمكنك معرفة المزيد من المعلومات عن نموذج الخطأ هذا وكيفية التعامل معه في دليل تصميم واجهة برمجة التطبيقات.
الحقول | |
---|---|
code |
رمز الحالة، الذي يجب أن يكون قيمة تعداد بقيمة |
message |
رسالة خطأ مواجهة للمطوِّر، ويجب أن تكون باللغة الإنجليزية يجب ترجمة أي رسالة خطأ تظهر للمستخدم وإرسالها في الحقل |
details[] |
قائمة بالرسائل التي تتضمّن تفاصيل الخطأ. هناك مجموعة شائعة من أنواع الرسائل يمكن لواجهات برمجة التطبيقات استخدامها. |