מגבלות שימוש

Drive Labels API הוא שירות משותף, ולכן אנחנו מחילים מכסות והגבלות כדי לוודא שכל המשתמשים ישתמשו בו בצורה הוגנת וכדי לשמור על התקינות הכוללת של הסביבה העסקית של Google Workspace.

אם תחרגו מהמכסה, לרוב תקבלו קוד סטטוס HTTP מסוג 429: Too many requests. במקרה כזה, צריך להשתמש באלגוריתם מעריכי של השהיה לפני ניסיון חוזר ולנסות שוב מאוחר יותר. אין הגבלה על מספר הבקשות שאפשר לשלוח בכל יום, אם לא תחרגו ממכסות הדקה המפורטות בהמשך.

בטבלה הבאה מפורטות המגבלות על הבקשות:

מכסות
בקשות שנקראו
למשתמש לכל פרויקט 600 (שאילתות לשנייה)
כתיבת בקשות
למשתמש לכל פרויקט 300 (שאילתות לשנייה)

פתרון שגיאות במכסות מבוססות-זמן

בכל השגיאות שמבוססות על זמן (לכל היותר N בקשות ב-X דקות), מומלץ שהקוד יתפוס את החריגה וישתמש בהשהיה מעריכית קטועה כדי לוודא שהמכשירים לא ייצרו עומס יתר.

השהיה מעריכית היא אסטרטגיה סטנדרטית לטיפול בשגיאות עבור אפליקציות רשת. אלגוריתם מעריכי של השהיה לפני ניסיון חוזר לבצע בקשות על ידי הגדלה אקספוננציאלית של זמני המתנה בין בקשות, עד לזמן השהייה המרבי. אם הבקשות עדיין נדחות, חשוב שמשך הזמן בין הבקשות יתארך עם הזמן עד שהבקשה תאושר.

אלגוריתם לדוגמה

אלגוריתם של השהיה מעריכית מנסה לבצע שוב בקשות באופן אקספוננציאלי. כך, זמן ההמתנה בין ניסיונות חוזרים גדל עד לזמן ההשהייה המקסימלי. לדוגמה:

  1. שליחת בקשה ל-Drive Labels API.
  2. אם הבקשה נכשלת, יש להמתין 1 + random_number_milliseconds ולנסות שוב לבצע את הבקשה.
  3. אם הבקשה נכשלה, ממתינים 2 + random_number_milliseconds ומנסים שוב לבצע את הבקשה.
  4. אם הבקשה נכשלת, יש להמתין 4 + random_number_milliseconds ולנסות שוב לבצע את הבקשה.
  5. וכך הלאה, עד פעם אחת (maximum_backoff).
  6. אפשר להמשיך להמתין ולנסות שוב עד למספר המקסימלי של ניסיונות חוזרים, אבל לא כדאי להאריך את תקופת ההמתנה בין הניסיונות החוזרים.

איפה:

  • זמן ההמתנה הוא 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.

מידע נוסף זמין במקורות המידע הבאים: