כדי להגן על התשתית של Google Workspace שמחפשת ואחראית לאחזור של הודעות בהסגר, ב-Mail Admin Quarantine API נאכפות מכסות שימוש לדקה בכל פרויקט בענן ב-Google Cloud. המכסות מקובצות לפי סוג העבודה שה-method מבצעת.
מכסות
בטבלה הבאה מפורטות המכסות. כל מכסה היא לדקה לכל פרויקט ב-Cloud, וכוללת את כל הבקשות שהפרויקט מבצע בכל הלקוחות של Google Workspace והאדמינים המתחזים.
| מכסה | ערך | Methods |
|---|---|---|
| בקשות חיפוש ורשימה | 60 בקשות לדקה | customers.quarantinedMessages.list, customers.quarantinedMessages.search |
| בקשות קריאה | 1,200 בקשות לדקה | customers.quarantinedMessages.get, customers.quarantines.get, customers.quarantines.list, customers.operations.get |
| בקשות כתיבה | 300 בקשות לדקה | customers.quarantinedMessages.release, customers.quarantinedMessages.deny, customers.quarantinedMessages.batchRelease, customers.quarantinedMessages.batchDeny |
כל קריאה ל-API נספרת כבקשה אחת, בלי קשר לגודל הדף או למספר ההודעות באצווה (בשיטות של אצווה). לדוגמה, בקשת batchRelease עם 500 הודעות צורכת בקשת כתיבה אחת.
אתם יכולים לראות את השימוש הנוכחי במכסה של הפרויקט במסוף Google Cloud בקטע ממשקי API ושירותים > ממשקי API ושירותים מופעלים > Admin Quarantine API > מכסות ומגבלות מערכת.
הפרמטרים שהתבקשו
| המגבלה | ערך |
|---|---|
מקסימום pageSize לבקשות list ו-search |
300 הודעות |
מספר ההודעות המקסימלי לבקשה אחת של batchRelease או batchDeny |
500 הודעות |
| חלון החיפוש והרשימה | הודעות שהתקבלו ב-30 הימים האחרונים |
פתרון שגיאות שקשורות למכסות
אם הפרויקט חורג מהמכסה, ה-API מחזיר שגיאת HTTP 429 עם הסטטוס RESOURCE_EXHAUSTED:
{
"error": {
"code": 429,
"message": "Quota exceeded for quota metric 'Search and list quarantined messages requests' and limit 'Search and list requests per minute per project' of service 'mailadminquarantine.googleapis.com' for consumer 'project_number:123456789012'.",
"status": "RESOURCE_EXHAUSTED"
}
}
כדי לא לחרוג מהמכסות:
- מנסים שוב עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff). כשמופיעה השגיאה
429, צריך להמתין לפני שמנסים שוב, ולהגדיל את זמן ההמתנה אחרי כל ניסיון שנכשל. למידע נוסף, קראו את המאמר השהיה מעריכית לפני ניסיון חוזר (exponential backoff). - משתמשים בגודל הדף הכי גדול שאפשר. לבקשות חיפוש ורשימה יש את המכסה הקטנה ביותר. בקשו עד 300 הודעות לכל דף במקום הרבה דפים קטנים.
- שימוש במסננים. כדאי לצמצם את בקשות ה-
searchבאמצעותfilterאוqueryכדי לאחזר רק את ההודעות שאתם צריכים. - משתמשים בשיטות של אצווה לעדכונים בכמות גדולה. בקשה אחת של
batchReleaseאוbatchDenyיכולה לשחרר או לדחות עד 500 הודעות, בהשוואה להודעה אחת לכל קריאה שלreleaseאוdeny. - דגימת פעולות לעיתים רחוקות. כשממתינים לפעולה באצווה, צריך להפעיל את השיטה
getשל המשאבcustomers.operationsכל כמה שניות, ולא באופן רציף. - סנכרון מצטבר. במקום להציג מחדש את כל ההסגר בכל הפעלה, אפשר לסנן לפי
status = PENDING_TRIAGEולעבד רק הודעות חדשות.
אי אפשר להגדיל את המכסה במהלך תצוגה מקדימה למפתחים. אם אתם צריכים מכסות גדולות יותר, אתם יכולים לשלוח משוב דרך תוכנית Google Workspace Developer Preview.