از آنجایی که Google Workspace Events API یک سرویس مشترک است، برای اطمینان از استفاده منصفانه توسط همه کاربران و محافظت از عملکرد کلی Google Workspace، سهمیهها و محدودیتهایی اعمال میکنیم.
اگر از یک سهمیه فراتر رفتید، پاسخ کد وضعیت HTTP 429: Too many requests
دریافت خواهید کرد. بررسی محدودیت نرخ اضافی در پشتیبان Google Workspace Events API نیز ممکن است همان پاسخ خطا را ایجاد کند. اگر این خطا رخ داد، باید از الگوریتم عقبنشینی نمایی استفاده کنید و بعداً دوباره امتحان کنید. تا زمانی که در سهمیههای دقیقهای ذکر شده در جداول زیر بمانید، محدودیتی برای تعداد درخواستهایی که میتوانید در روز انجام دهید وجود ندارد.
سهمیه های هر پروژه
سهمیههای هر پروژه، نرخ درخواستها را برای یک پروژه Google Cloud محدود میکند، و بنابراین برای یک برنامه واحد اعمال میشود که روشهای مشخص شده Google Workspace Events API را برای هر سهمیه فراخوانی میکند.
جدول زیر محدودیت های پرس و جوی هر پروژه را شرح می دهد. همچنین میتوانید این محدودیتها را در صفحه سهمیهها در کنسول Google Cloud پیدا کنید.
سهمیه هر پروژه | روشهای API رویدادهای Google Workspace | حد |
---|---|---|
در دقیقه می نویسد | | 600 |
هر کاربر در دقیقه می نویسد | | 100 |
در دقیقه می خواند | | 600 |
خواندن در دقیقه برای هر کاربر | | 100 |
خطاهای سهمیه بندی مبتنی بر زمان را برطرف کنید
برای همه خطاهای مبتنی بر زمان (حداکثر N درخواست در هر X دقیقه)، توصیه میکنیم کد شما استثنا باشد و از یک عقبنشینی نمایی کوتاهشده استفاده کند تا مطمئن شود دستگاههای شما بار بیش از حد تولید نمیکنند.
عقب نشینی نمایی یک استراتژی مدیریت خطای استاندارد برای برنامه های شبکه است. یک الگوریتم عقبنشینی نمایی، درخواستها را با استفاده از افزایش تصاعدی زمان انتظار بین درخواستها، تا حداکثر زمان عقبنشینی، دوباره امتحان میکند. اگر درخواستها همچنان ناموفق هستند، مهم است که تأخیر بین درخواستها در طول زمان افزایش یابد تا درخواست موفقیتآمیز شود.
الگوریتم نمونه
یک الگوریتم عقبنشینی نمایی، درخواستها را بهصورت تصاعدی دوباره امتحان میکند، و زمان انتظار بین تلاشهای مجدد را تا حداکثر زمان عقبنشینی افزایش میدهد. مثلا:
- درخواستی به Google Workspace Events 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
تعداد تصادفی میلی ثانیه کمتر یا مساوی 1000 است. این به جلوگیری از مواردی کمک می کند که در آن بسیاری از مشتریان با برخی موقعیت ها همگام می شوند و همه یکباره دوباره تلاش می کنند و درخواست ها را در امواج همگام ارسال می کنند. مقدارrandom_number_milliseconds
پس از هر درخواست مجدد محاسبه می شود. -
maximum_backoff
معمولاً 32 یا 64 ثانیه است. مقدار مناسب بستگی به مورد استفاده دارد.
مشتری می تواند پس از رسیدن به maximum_backoff
زمان بازگشت مجدد به تلاش مجدد ادامه دهد. تلاش مجدد بعد از این مرحله نیازی به افزایش زمان عقب نشینی ندارد. به عنوان مثال، اگر یک کلاینت از maximum_backoff
زمان بازگشت 64 ثانیه استفاده کند، پس از رسیدن به این مقدار، مشتری می تواند هر 64 ثانیه یکبار دوباره امتحان کند. در برخی موارد، مشتریان باید از تلاش مجدد به طور نامحدود جلوگیری شوند.
زمان انتظار بین تلاش های مجدد و تعداد دفعات مجدد بستگی به حالت استفاده و شرایط شبکه شما دارد.
درخواست افزایش سهمیه هر پروژه
بسته به میزان استفاده از منابع پروژه شما، ممکن است بخواهید درخواست افزایش سهمیه کنید. تماسهای API توسط یک حساب سرویس به عنوان استفاده از یک حساب واحد در نظر گرفته میشود. درخواست برای افزایش سهمیه تضمینی برای تایید نیست. افزایش سهمیه های بزرگ ممکن است مدت بیشتری طول بکشد تا تصویب شود.
همه پروژه ها سهمیه یکسانی ندارند. از آنجایی که در طول زمان به طور فزاینده ای از Google Cloud استفاده می کنید، ممکن است نیاز باشد که سهمیه های شما افزایش یابد. اگر انتظار افزایش چشمگیر استفاده در آینده را دارید، میتوانید به طور فعالانه از صفحه سهمیهها در کنسول Google Cloud درخواست تنظیمات سهمیه کنید .
برای کسب اطلاعات بیشتر به منابع زیر مراجعه کنید:
- درباره درخواست های افزایش سهمیه
- میزان استفاده و محدودیت های فعلی خود را مشاهده کنید
- درخواست محدودیت سهمیه بالاتر
از آنجایی که Google Workspace Events API یک سرویس مشترک است، برای اطمینان از استفاده منصفانه توسط همه کاربران و محافظت از عملکرد کلی Google Workspace، سهمیهها و محدودیتهایی اعمال میکنیم.
اگر از یک سهمیه فراتر رفتید، پاسخ کد وضعیت HTTP 429: Too many requests
دریافت خواهید کرد. بررسی محدودیت نرخ اضافی در پشتیبان Google Workspace Events API نیز ممکن است همان پاسخ خطا را ایجاد کند. اگر این خطا رخ داد، باید از الگوریتم عقبنشینی نمایی استفاده کنید و بعداً دوباره امتحان کنید. تا زمانی که در سهمیههای دقیقهای ذکر شده در جداول زیر بمانید، محدودیتی برای تعداد درخواستهایی که میتوانید در روز انجام دهید وجود ندارد.
سهمیه های هر پروژه
سهمیههای هر پروژه، نرخ درخواستها را برای یک پروژه Google Cloud محدود میکند، و بنابراین برای یک برنامه واحد اعمال میشود که روشهای مشخصشده Google Workspace Events API را برای هر سهمیه فراخوانی میکند.
جدول زیر محدودیت های پرس و جوی هر پروژه را شرح می دهد. همچنین میتوانید این محدودیتها را در صفحه سهمیهها در کنسول Google Cloud پیدا کنید.
سهمیه هر پروژه | روشهای API رویدادهای Google Workspace | حد |
---|---|---|
در دقیقه می نویسد | | 600 |
هر کاربر در دقیقه می نویسد | | 100 |
در دقیقه می خواند | | 600 |
خواندن در دقیقه برای هر کاربر | | 100 |
خطاهای سهمیه بندی مبتنی بر زمان را برطرف کنید
برای همه خطاهای مبتنی بر زمان (حداکثر N درخواست در هر X دقیقه)، توصیه میکنیم کد شما استثنا باشد و از یک عقبنشینی نمایی کوتاهشده استفاده کند تا مطمئن شود دستگاههای شما بار بیش از حد تولید نمیکنند.
عقب نشینی نمایی یک استراتژی مدیریت خطای استاندارد برای برنامه های شبکه است. یک الگوریتم عقبنشینی نمایی، درخواستها را با استفاده از افزایش تصاعدی زمان انتظار بین درخواستها، تا حداکثر زمان عقبنشینی، دوباره امتحان میکند. اگر درخواستها همچنان ناموفق هستند، مهم است که تأخیر بین درخواستها در طول زمان افزایش یابد تا درخواست موفقیتآمیز شود.
الگوریتم نمونه
یک الگوریتم عقبنشینی نمایی، درخواستها را بهصورت تصاعدی دوباره امتحان میکند، و زمان انتظار بین تلاشهای مجدد را تا حداکثر زمان عقبنشینی افزایش میدهد. مثلا:
- درخواستی به Google Workspace Events 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
تعداد تصادفی میلی ثانیه کمتر یا مساوی 1000 است. این به جلوگیری از مواردی کمک می کند که در آن بسیاری از مشتریان با برخی موقعیت ها همگام می شوند و همه یکباره دوباره تلاش می کنند و درخواست ها را در امواج همگام ارسال می کنند. مقدارrandom_number_milliseconds
پس از هر درخواست مجدد محاسبه می شود. -
maximum_backoff
معمولاً 32 یا 64 ثانیه است. مقدار مناسب بستگی به مورد استفاده دارد.
مشتری می تواند پس از رسیدن به maximum_backoff
زمان بازگشت مجدد به تلاش مجدد ادامه دهد. تلاش مجدد بعد از این مرحله نیازی به افزایش زمان عقب نشینی ندارد. به عنوان مثال، اگر یک کلاینت از maximum_backoff
زمان بازگشت 64 ثانیه استفاده کند، پس از رسیدن به این مقدار، مشتری می تواند هر 64 ثانیه یکبار دوباره امتحان کند. در برخی موارد، مشتریان باید از تلاش مجدد به طور نامحدود جلوگیری شوند.
زمان انتظار بین تلاش های مجدد و تعداد دفعات مجدد بستگی به حالت استفاده و شرایط شبکه شما دارد.
درخواست افزایش سهمیه هر پروژه
بسته به میزان استفاده از منابع پروژه شما، ممکن است بخواهید درخواست افزایش سهمیه کنید. تماسهای API توسط یک حساب سرویس به عنوان استفاده از یک حساب واحد در نظر گرفته میشود. درخواست برای افزایش سهمیه تضمینی برای تایید نیست. افزایش سهمیه های بزرگ ممکن است مدت بیشتری طول بکشد تا تصویب شود.
همه پروژه ها سهمیه یکسانی ندارند. از آنجایی که در طول زمان به طور فزاینده ای از Google Cloud استفاده می کنید، ممکن است نیاز باشد که سهمیه های شما افزایش یابد. اگر انتظار افزایش قابل توجه استفاده در آینده را دارید، میتوانید به طور فعالانه از صفحه سهمیهها در کنسول Google Cloud درخواست تنظیمات سهمیه کنید .
برای کسب اطلاعات بیشتر به منابع زیر مراجعه کنید: