מאחר ש-Google Docs API הוא שירות משותף, אנחנו מחילים מכסות ומגבלות כדי להבטיח שכל המשתמשים ישתמשו בו בצורה הוגנת וכדי לשמור על התקינות הכוללת של מערכת Google Workspace.
אם תחרגו ממכסה, בדרך כלל תקבלו תגובה של קוד הסטטוס 429: Too many requests
ב-HTTP. במקרה כזה, צריך להשתמש
באלגוריתם של השהיה מעריכית ולנסות שוב מאוחר יותר.
המגבלות על בקשות מפורטות בטבלה הבאה:
מכסות | |||||
---|---|---|---|---|---|
בקשות קריאה |
|
||||
בקשות כתיבה |
|
פתרון שגיאות הקשורות למכסה מבוססת-זמן
בכל השגיאות המבוססות על זמן (עד N בקשות לכל X דקות), אנחנו ממליצים שהקוד יתפס את החריג וייעשה שימוש בהשהיה מעריכית קטועה כדי לוודא שהמכשירים שלך לא מייצרים עומס יתר.
השהיה מעריכית היא אסטרטגיה סטנדרטית לטיפול בשגיאות באפליקציות רשת. אלגוריתם השהיה מעריכית מנסה שוב את הבקשות תוך שימוש בהארכת זמני ההמתנה בין בקשות, עד לזמן השהיה מקסימלי. אם הבקשות עדיין לא מוצלחות, חשוב שהעיכוב בין הבקשות יגדל עם הזמן עד שהבקשה תטופל.
אלגוריתם לדוגמה
אלגוריתם מעריכי של ניסיון השהיה מנסה שוב באופן מעריכי, ומאריך את זמן ההמתנה בין ניסיונות חוזרים עד לזמן השהיה מקסימלי. למשל:
- ניתן לשלוח בקשה ל-Google Docs 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 או שווה לו. כך ניתן למנוע מקרים שבהם לקוחות רבים מסונכרנים במצב כלשהו, וכולם מנסים בבת אחת לשלוח בקשות בגלים מסונכרנים. הערך שלrandom_number_milliseconds
מחושב מחדש אחרי כל בקשה חוזרת.maximum_backoff
הוא בדרך כלל 32 או 64 שניות. הערך המתאים תלוי בתרחיש לדוגמה.
הלקוח יכול להמשיך לנסות שוב לאחר שעבר את maximum_backoff
.
ניסיונות חוזרים אחרי התקופה הזו לא צריכים להאריך את זמן ההשהייה. לדוגמה, אם לקוח משתמש ב-maximum_backoff
במשך 64 שניות, לאחר מכן הוא יכול לנסות כל 64 שניות. בשלב מסוים, צריך למנוע
מלקוחות לבצע ניסיון חוזר ללא הגבלת זמן.
זמן ההמתנה בין הניסיונות החוזרים ומספר הניסיונות החוזרים תלוי בתרחיש לדוגמה ובתנאי הרשת שלכם.
תמחור
כל שימוש ב-Google Docs API זמין ללא עלות נוספת. חריגה ממכסות המכסה לא כרוכה בחיובים נוספים, והחשבון שלך לא מחויב.
שליחת בקשה להגדלת המכסה
בהתאם לשימוש במשאבים של הפרויקט, יכול להיות שתרצו לבקש הגדלת מכסה. קריאות ל-API באמצעות חשבון שירות נחשבות כשימוש בחשבון יחיד. הגשת בקשה למכסה מוגדלת לא מבטיחה אישור. אישור העלאה של מכסות גדולות עשוי להימשך זמן רב יותר.
לא לכל הפרויקטים יש אותן מכסות. ככל שתשתמשו יותר ויותר ב-Google Cloud במשך הזמן, יכול להיות שתצטרכו להגדיל את המכסות שלכם. אם אתם מצפים לראות עלייה משמעותית בשימוש, תוכלו לבקש התאמות מכסות באופן יזום דרך דף Quotas במסוף Google Cloud.
מידע נוסף זמין במשאבים הבאים: