رموز الخطأ الأساسية لواجهات برمجة تطبيقات 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 في الخادم الداخلي |