Drive Labels API הוא שירות משותף, ולכן אנחנו מחילים מכסות והגבלות כדי לוודא שכל המשתמשים ישתמשו בו בצורה הוגנת וכדי לשמור על התקינות הכוללת של הסביבה העסקית של Google Workspace.
אם תחרגו מהמכסה, לרוב תקבלו קוד סטטוס HTTP מסוג 429: Too many
requests
. במקרה כזה, צריך להשתמש באלגוריתם מעריכי של השהיה לפני ניסיון חוזר ולנסות שוב מאוחר יותר.
אין הגבלה על מספר הבקשות שאפשר לשלוח בכל יום, אם לא תחרגו ממכסות הדקה המפורטות בהמשך.
בטבלה הבאה מפורטות המגבלות על הבקשות:
מכסות | |||
---|---|---|---|
בקשות שנקראו |
|
||
כתיבת בקשות |
|
פתרון שגיאות במכסות מבוססות-זמן
בכל השגיאות שמבוססות על זמן (לכל היותר N בקשות ב-X דקות), מומלץ שהקוד יתפוס את החריגה וישתמש בהשהיה מעריכית קטועה כדי לוודא שהמכשירים לא ייצרו עומס יתר.
השהיה מעריכית היא אסטרטגיה סטנדרטית לטיפול בשגיאות עבור אפליקציות רשת. אלגוריתם מעריכי של השהיה לפני ניסיון חוזר לבצע בקשות על ידי הגדלה אקספוננציאלית של זמני המתנה בין בקשות, עד לזמן השהייה המרבי. אם הבקשות עדיין נדחות, חשוב שמשך הזמן בין הבקשות יתארך עם הזמן עד שהבקשה תאושר.
אלגוריתם לדוגמה
אלגוריתם של השהיה מעריכית מנסה לבצע שוב בקשות באופן אקספוננציאלי. כך, זמן ההמתנה בין ניסיונות חוזרים גדל עד לזמן ההשהייה המקסימלי. לדוגמה:
- שליחת בקשה ל-Drive Labels API.
- אם הבקשה נכשלת, יש להמתין 1 +
random_number_milliseconds
ולנסות שוב לבצע את הבקשה. - אם הבקשה נכשלה, ממתינים 2 +
random_number_milliseconds
ומנסים שוב לבצע את הבקשה. - אם הבקשה נכשלת, יש להמתין 4 +
random_number_milliseconds
ולנסות שוב לבצע את הבקשה. - וכך הלאה, עד פעם אחת (
maximum_backoff
). - אפשר להמשיך להמתין ולנסות שוב עד למספר המקסימלי של ניסיונות חוזרים, אבל לא כדאי להאריך את תקופת ההמתנה בין הניסיונות החוזרים.
איפה:
- זמן ההמתנה הוא
min(((2^n)+random_number_milliseconds), maximum_backoff)
, כאשר הערך שלn
עולה ב-1 לכל איטרציה (בקשה). random_number_milliseconds
הוא מספר אקראי של אלפיות השנייה שקטן מ-1,000 או שווה לו. כך ניתן למנוע מקרים שבהם לקוחות רבים מסונכרנים במצבים מסוימים, וכולם מנסים שוב בבת אחת, ושולחים בקשות בפרסומי wave מסונכרנים. הערך שלrandom_number_milliseconds
מחושב מחדש אחרי כל בקשה לניסיון חוזר.- משך הזמן של
maximum_backoff
הוא בדרך כלל 32 או 64 שניות. הערך המתאים תלוי בתרחיש לדוגמה.
הלקוח יוכל להמשיך לנסות שוב אחרי שיגיע הזמן ה-maximum_backoff
.
ניסיונות חוזרים אחרי הנקודה הזו לא צריכים להאריך את זמן ההשהיה. לדוגמה, אם לקוח משתמש בזמן maximum_backoff
של 64 שניות, לאחר שהוא מגיע
לערך הזה, הלקוח יכול לנסות שוב כל 64 שניות. בשלב כלשהו,
ניתן למנוע מלקוחות לנסות שוב ללא הגבלת זמן.
משך ההמתנה בין הניסיונות החוזרים למספר הניסיונות החוזרים תלוי בתרחיש לדוגמה ובתנאי הרשת.
תמחור
כל שימוש ב-Drive Labels API זמין ללא עלות נוספת. חריגה מהמגבלות של הבקשות למכסה לא תגרום לחיובים נוספים והחשבון שלך לא יחויב.
איך שולחים בקשה להגדלת מכסה
יכול להיות שתרצו לבקש הגדלה של המכסה, בהתאם לשימוש במשאבים בפרויקט. קריאות ל-API דרך חשבון שירות נחשבות לשימוש בחשבון יחיד. הגשת בקשה להגדלת מכסה לא מבטיחה אישור. אישור של הגדלות מכסות עשוי להימשך זמן רב יותר.
לא לכל הפרויקטים יש את אותן מכסות. ככל שהשימוש ב-Google Cloud הולך וגדל, יכול להיות שתצטרכו להגדיל את המכסות שלכם. אם צפויה עלייה משמעותית בשימוש, אתם יכולים לבקש התאמות של המכסות באופן יזום דרך הדף Quotas במסוף Google Cloud.
מידע נוסף זמין במקורות המידע הבאים: