Code
با مجموعهها، منظم بمانید
ذخیره و دستهبندی محتوا براساس اولویتهای شما.
کدهای خطای متعارف برای APIهای gRPC.
گاهی اوقات ممکن است چندین کد خطا اعمال شود. سرویسها باید خاصترین کد خطای اعمال شده را برگردانند. برای مثال، اگر هر دو کد اعمال شوند OUT_OF_RANGE
را به FAILED_PRECONDITION
ترجیح دهید. به طور مشابه NOT_FOUND
یا ALREADY_EXISTS
را نسبت به FAILED_PRECONDITION
ترجیح دهید.
Enums |
---|
OK | خطا نیست؛ با موفقیت بازگشت. نقشه برداری HTTP: 200 OK |
CANCELLED | این عملیات معمولاً توسط تماس گیرنده لغو شد. HTTP Mapping: 499 Client Request |
UNKNOWN | خطای ناشناخته. به عنوان مثال، این خطا ممکن است زمانی برگردانده شود که یک مقدار Status دریافت شده از فضای آدرس دیگری متعلق به فضای خطایی باشد که در این فضای آدرس شناخته شده نیست. همچنین خطاهای مطرح شده توسط APIهایی که اطلاعات خطای کافی را بر نمی گردند ممکن است به این خطا تبدیل شوند. HTTP Mapping: 500 خطای سرور داخلی |
INVALID_ARGUMENT | مشتری یک آرگومان نامعتبر را مشخص کرده است. توجه داشته باشید که این با FAILED_PRECONDITION متفاوت است. INVALID_ARGUMENT آرگومان هایی را نشان می دهد که بدون توجه به وضعیت سیستم مشکل ساز هستند (به عنوان مثال، نام فایل نادرست). نقشه برداری HTTP: 400 درخواست بد |
DEADLINE_EXCEEDED | مهلت قبل از تکمیل عملیات به پایان رسید. برای عملیاتی که وضعیت سیستم را تغییر می دهد، حتی اگر عملیات با موفقیت به پایان رسیده باشد، ممکن است این خطا برگردانده شود. به عنوان مثال، یک پاسخ موفقیتآمیز از یک سرور میتوانست آنقدر به تأخیر بیفتد که مهلت آن به پایان برسد. HTTP Mapping: 504 Gateway Timeout |
NOT_FOUND | برخی از موجودیت های درخواستی (به عنوان مثال، فایل یا دایرکتوری) یافت نشد. توجه به توسعه دهندگان سرور: اگر درخواستی برای کل دسته از کاربران رد شود، مانند عرضه تدریجی ویژگی یا لیست مجاز غیرمستند، NOT_FOUND ممکن است استفاده شود. اگر درخواستی برای برخی از کاربران در یک کلاس از کاربران رد شود، مانند کنترل دسترسی مبتنی بر کاربر، باید از PERMISSION_DENIED استفاده شود. نقشه برداری HTTP: 404 یافت نشد |
ALREADY_EXISTS | موجودیتی که یک کلاینت سعی کرد ایجاد کند (مثلاً فایل یا دایرکتوری) از قبل وجود دارد. HTTP Mapping: 409 Conflict |
PERMISSION_DENIED | تماس گیرنده اجازه اجرای عملیات مشخص شده را ندارد. PERMISSION_DENIED نباید برای ردهای ناشی از فرسودگی برخی منابع استفاده شود (به جای آن از RESOURCE_EXHAUSTED برای آن خطاها استفاده کنید). اگر تماس گیرنده قابل شناسایی نباشد PERMISSION_DENIED نباید استفاده شود (به جای آن از UNAUTHENTICATED برای آن خطاها استفاده کنید). این کد خطا به این معنی نیست که درخواست معتبر است یا موجودیت درخواست شده وجود دارد یا سایر پیش شرط ها را برآورده می کند. HTTP Mapping: 403 Forbidden |
UNAUTHENTICATED | درخواست دارای اعتبار احراز هویت معتبر برای عملیات نیست. نقشه برداری HTTP: 401 غیر مجاز |
RESOURCE_EXHAUSTED | برخی از منابع تمام شده است، شاید سهمیه هر کاربر، یا شاید کل سیستم فایل خالی است. نقشه برداری HTTP: 429 درخواست خیلی زیاد |
FAILED_PRECONDITION | عملیات رد شد زیرا سیستم در وضعیت لازم برای اجرای عملیات نیست. به عنوان مثال، دایرکتوری که باید حذف شود خالی نیست، یک عملیات rmdir روی یک غیر دایرکتوری اعمال می شود و غیره. پیادهکنندههای سرویس میتوانند از دستورالعملهای زیر برای تصمیمگیری بین FAILED_PRECONDITION ، ABORTED و UNAVAILABLE استفاده کنند: (الف) اگر مشتری بتواند فقط تماس ناموفق را دوباره امتحان کند، از UNAVAILABLE استفاده کنید. (ب) اگر مشتری باید در سطح بالاتری دوباره تلاش کند، از ABORTED استفاده کنید. به عنوان مثال، هنگامی که یک تست و تنظیم مشخص شده توسط سرویس گیرنده با شکست مواجه می شود، نشان می دهد که مشتری باید یک دنباله خواندن-تغییر-نوشتن را دوباره راه اندازی کند. (ج) از FAILED_PRECONDITION استفاده کنید اگر کلاینت نباید دوباره تلاش کند تا زمانی که وضعیت سیستم به صراحت ثابت نشده باشد. به عنوان مثال، اگر یک "rmdir" به دلیل خالی نبودن دایرکتوری از کار بیفتد، FAILED_PRECONDITION باید برگردانده شود زیرا مشتری نباید دوباره امتحان کند مگر اینکه فایل ها از دایرکتوری حذف شوند. نقشه برداری HTTP: 400 درخواست بد |
ABORTED | این عملیات معمولاً به دلیل یک مشکل همزمانی مانند شکست چک ترتیبدهنده یا لغو تراکنش متوقف شد. برای تصمیم گیری بین FAILED_PRECONDITION , ABORTED , و UNAVAILABLE به دستورالعمل های بالا مراجعه کنید. HTTP Mapping: 409 Conflict |
OUT_OF_RANGE | عملیات از محدوده معتبر گذشته است. به عنوان مثال، جستجو یا خواندن پایان فایل گذشته. برخلاف INVALID_ARGUMENT ، این خطا نشان دهنده مشکلی است که در صورت تغییر وضعیت سیستم ممکن است برطرف شود. به عنوان مثال، یک سیستم فایل 32 بیتی اگر از شما خواسته شود در یک آفست خوانده شود که در محدوده [0,2^32-1] نیست، INVALID_ARGUMENT تولید می کند، اما اگر از یک آفست گذشته از فعلی خواسته شود OUT_OF_RANGE را بخواند. حجم فایل. مقداری همپوشانی بین FAILED_PRECONDITION و OUT_OF_RANGE وجود دارد. توصیه میکنیم هنگام اعمال OUT_OF_RANGE (خطای خاصتر) استفاده کنید تا تماسگیرندگانی که در حال تکرار در یک فاصله هستند بتوانند به راحتی به دنبال خطای OUT_OF_RANGE بگردند تا تشخیص دهند که چه زمانی انجام شده است. نقشه برداری HTTP: 400 درخواست بد |
UNIMPLEMENTED | عملیات اجرا نشده یا در این سرویس پشتیبانی/فعال نمی شود. نقشه برداری HTTP: 501 اجرا نشده است |
INTERNAL | خطاهای داخلی این بدان معنی است که برخی از متغیرهای مورد انتظار سیستم اساسی شکسته شده اند. این کد خطا برای خطاهای جدی رزرو شده است. HTTP Mapping: 500 خطای سرور داخلی |
UNAVAILABLE | این سرویس در حال حاضر در دسترس نیست. این به احتمال زیاد یک وضعیت گذرا است، که می توان با تلاش مجدد با عقب نشینی آن را اصلاح کرد. توجه داشته باشید که همیشه امتحان مجدد عملیات های غیر توانمند ایمن نیست. برای تصمیم گیری بین FAILED_PRECONDITION , ABORTED , و UNAVAILABLE به دستورالعمل های بالا مراجعه کنید. نقشه برداری HTTP: سرویس 503 در دسترس نیست |
DATA_LOSS | از دست دادن یا فساد غیرقابل جبران داده. HTTP Mapping: 500 خطای سرور داخلی |
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-08 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2024-11-08 بهوقت ساعت هماهنگ جهانی."],[[["This documentation outlines the canonical error codes for gRPC APIs, providing a standardized way to handle and interpret errors across different services."],["Each error code has a specific meaning and an associated HTTP mapping for easier integration with existing web infrastructure."],["Services should prioritize returning the most specific error code applicable to a given situation, aiding in accurate diagnosis and troubleshooting."],["The error codes cover a wide range of scenarios, including client errors, server errors, and resource constraints, ensuring comprehensive error handling."],["While some errors may be transient and recoverable through retries, others indicate more serious issues requiring system-level intervention."]]],[]]