קודי שגיאה קנוניים לממשקי API של gRPC.
לפעמים עשויים לחול קודי שגיאה מרובים. השירותים צריכים להחזיר את קוד השגיאה הספציפי ביותר שחל. לדוגמה, עדיף OUT_OF_RANGE
על פני FAILED_PRECONDITION
אם שני הקודים חלים. באופן דומה, נוח להשתמש ב-NOT_FOUND
או ב-ALREADY_EXISTS
במקום ב-FAILED_PRECONDITION
.
Enums | |
---|---|
OK |
זו לא שגיאה. הוחזרה בהצלחה. מיפוי HTTP: 200 OK |
CANCELLED |
הפעולה בוטלה, בדרך כלל על ידי המתקשר. מיפוי HTTP: בקשה לסגירת לקוח 499 |
UNKNOWN |
שגיאה לא ידועה. לדוגמה, ייתכן שהשגיאה הזו מוחזרת כאשר ערך של מיפוי HTTP: שגיאת שרת פנימית 500 |
INVALID_ARGUMENT |
הלקוח ציין ארגומנט לא חוקי. חשוב לשים לב שהנתון הזה שונה מ מיפוי HTTP: בקשה שגויה של 400 |
DEADLINE_EXCEEDED |
המועד האחרון חלף לפני שניתן היה להשלים את הפעולה. עבור פעולות שמשנות את מצב המערכת, ייתכן שתוחזר השגיאה הזו גם אם הפעולה הושלמה בהצלחה. לדוגמה, תגובה מוצלחת משרת מסוים עשויה להתעכב מספיק זמן כדי שתאריך היעד יפוג. מיפוי HTTP: זמן קצוב לתפוגה של 504 Gateway |
NOT_FOUND |
לא נמצאה ישות מבוקשת כלשהי (לדוגמה, קובץ או ספרייה). הערה למפתחי שרתים: אם בקשה נדחית עבור קבוצה שלמה של משתמשים, כגון השקת תכונה הדרגתית או רשימת היתרים ללא תיעוד, ניתן יהיה להשתמש ב- מיפוי HTTP: 404 לא נמצא |
ALREADY_EXISTS |
הישות שהלקוח ניסה ליצור (למשל, קובץ או ספרייה) כבר קיימת. מיפוי HTTP: 409 התנגשות |
PERMISSION_DENIED |
אין למתקשר הרשאה לבצע את הפעולה שצוינה. אין להשתמש ב- מיפוי HTTP: 403 אסור |
UNAUTHENTICATED |
לבקשה אין פרטי כניסה תקפים לאימות הפעולה. מיפוי HTTP: 401 לא מורשה |
RESOURCE_EXHAUSTED |
חלק מהמשאבים נוצל, אולי מכסה לכל משתמש, או שאולי ניצלת את כל שטח הקובץ. מיפוי HTTP: 429 יותר מדי בקשות |
FAILED_PRECONDITION |
הפעולה נדחתה מכיוון שהמערכת אינה במצב הדרוש לביצוע הפעולה. לדוגמה, הספרייה שיש למחוק אינה ריקה, פעולת RMID מתבצעת על תיקייה שאינה ספרייה וכו'. ספקי השירות יכולים להיעזר בהנחיות הבאות כדי להחליט בין מיפוי HTTP: בקשה שגויה של 400 |
ABORTED |
הפעולה בוטלה, לרוב בגלל בעיה בו-זמנית כמו כשל בבדיקת רצף או ביטול עסקה. יש לעיין בהנחיות שלעיל כדי להחליט אם להשתמש ב- מיפוי HTTP: 409 התנגשות |
OUT_OF_RANGE |
נעשה ניסיון לבצע את הפעולה מעבר לטווח החוקי. למשל, חיפוש של סוף קובץ או קריאתו. בשונה מ- יש חפיפה מסוימת בין מיפוי HTTP: בקשה שגויה של 400 |
UNIMPLEMENTED |
הפעולה לא מיושמת או שאינה נתמכת/מופעלת בשירות הזה. מיפוי HTTP: 501 לא יושם |
INTERNAL |
שגיאות פנימיות. פירוש הדבר הוא שחלק מהמשתנים הצפויים על ידי המערכת הבסיסית לא תקינים. קוד השגיאה שמור לשגיאות חמורות. מיפוי HTTP: שגיאת שרת פנימית 500 |
UNAVAILABLE |
השירות הזה לא זמין כרגע. זהו כנראה תנאי זמני, שניתן לתקן אותו על ידי ניסיון חוזר עם השהיה. חשוב לזכור שלא תמיד בטוח לנסות לבצע שוב פעולות שאינן המטרה. יש לעיין בהנחיות שלעיל כדי להחליט אם להשתמש ב- מיפוי HTTP: שירות 503 לא זמין |
DATA_LOSS |
אובדן או תקלה של נתונים שאינם ניתנים לשחזור. מיפוי HTTP: שגיאת שרת פנימית 500 |