ازآنجاییکه Google Drive API یک سرویس مشترک است، ما سهمیهها و محدودیتهایی را اعمال میکنیم تا مطمئن شویم که بهطور عادلانه توسط همه کاربران استفاده میشود و از عملکرد کلی سیستم Google Workspace محافظت کنیم.
محدودیتها براساس واحدهای سهمیه تعریف میشوند، یک واحد اندازهگیری انتزاعی که نشاندهنده استفاده از منابع Google Drive است.
سهمیههای Drive API
سه نوع سهمیه اعمال میشود:
در دقیقه برای هر پروژه: این تعداد واحدهای سهمیهای است که پروژه Google Cloud شما میتواند در یک دقیقه استفاده کند.
در دقیقه برای هر کاربر برای هر پروژه: این تعداد واحدهای سهمیهای است که هر کاربر خاص میتواند در پروژه Cloud شما استفاده کند. هدف از این محدودیت کمک به شما برای اطمینان از توزیع عادلانه استفاده در میان کاربران است.
روزانه برای هر پروژه: این گزینه حداکثر تعداد بایتهایی را که پروژه Google Cloud شما میتواند در یک دوره ۲۴ ساعته قبلاز اعمال هزینهها خارج کند، تعریف میکند.
جدول زیر جزئیات این محدودیتها را نشان میدهد:
| نوع حد استفاده | حد |
|---|---|
| در دقیقه برای هر پروژه | ۱٬۰۰۰٬۰۰۰ واحد سهمیه |
| در دقیقه برای هر کاربر در هر پروژه | ۳۲۵٬۰۰۰ واحد سهمیه |
| در روز برای هر پروژه | ۱ ترابایت |
اگر از سهمیه فراتر بروید، پاسخ رمز وضعیت HTTP 403: User rate limit
exceeded را دریافت خواهید کرد. بررسیهای اضافی محدودیت نرخ در باطن Drive نیز ممکن است پاسخ 429: Rate limit
exceeded را ایجاد کند. اگر این اتفاق افتاد، باید از الگوریتم عقبنشینی نمایی استفاده کنید و بعداً دوباره امتحان کنید.
آستانه صورتحساب روزانه
این حد روزانه برای هر پروژه حداکثر تعداد واحدهای سهمیه را که پروژه Google Cloud شما میتواند در یک دوره ۲۴ ساعته قبلاز اعمال هزینهها استفاده کند تعریف میکند.
استفاده کمتر از این آستانه هزینه اضافی ندارد و برای حساب Google Cloud شما صورتحساب صادر نمیشود. جزئیات کامل صدور صورتحساب در اواخر سال ۲۰۲۶ و حداقل ۹۰ روز قبلاز اعمال هرگونه تغییر همرسانی خواهد شد.
نمیتوانید برای این حد آستانه روزانه درخواست افزایش دهید.
جدول زیر جزئیات این محدودیت را نشان میدهد:
| نوع حد آستانه | حد |
|---|---|
| در روز برای هر پروژه | ۴۰۰٬۰۰۰٬۰۰۰ واحد سهمیه |
برای اطلاعات بیشتر، مدل استانداردشده Google Workspace برای ابزارها و میاناهای برنامهسازی کاربردی عامل را ببینید.
هزینههای واحد سهمیه بهازای هر روش
تعداد واحدهای سهمیه مصرفشده در هر درخواست بسته به روش فراخوانیشده متفاوت است، همانطور که در جدولهای زیر شرح داده شده است:
روشهای خواندن (۵ واحد سهمیه)
| روش |
|---|
drive.about.get |
drive.accessproposals.get |
drive.apps.get |
drive.approvals.get |
drive.changes.get |
drive.children.get |
drive.comments.get |
drive.drives.get |
drive.files.get (without alt=media) |
drive.parents.get |
drive.permissions.get |
drive.properties.get |
drive.replies.get |
drive.revisions.get (without alt=media) |
drive.teamdrives.get |
روشهای فهرست (۱۰۰ واحد سهمیه)
| روش |
|---|
drive.accessproposals.list |
drive.apps.list |
drive.changes.list، drive.changes.watch |
drive.children.list |
drive.comments.list |
drive.drives.list |
drive.files.list، drive.files.watch |
drive.parents.list |
drive.permissions.list |
drive.properties.list |
drive.replies.list |
drive.revisions.list |
drive.teamdrives.list |
روشهای ویرایش (۵۰ واحد سهمیه)
| روش |
|---|
drive.approvals.decline |
drive.children.delete، drive.children.insert |
drive.comments.create، drive.comments.delete، drive.comments.insert، drive.comments.patch، drive.comments.update |
drive.drives.create، drive.drives.delete، drive.drives.hide، drive.drives.insert، drive.drives.unhide، drive.drives.update |
drive.files.copy، drive.files.create، drive.files.delete، drive.files.emptyTrash، drive.files.insert، drive.files.modifyLabels، drive.files.patch، drive.files.touch، drive.files.trash، drive.files.untrash، drive.files.update |
drive.parents.delete، drive.parents.insert |
drive.permissions.create، drive.permissions.delete، drive.permissions.insert، drive.permissions.patch، drive.permissions.update |
drive.properties.delete، drive.properties.insert، drive.properties.patch، drive.properties.update |
drive.replies.create، drive.replies.delete، drive.replies.insert، drive.replies.patch، drive.replies.update |
drive.revisions.delete، drive.revisions.patch، drive.revisions.update |
drive.teamdrives.create، drive.teamdrives.delete، drive.teamdrives.insert، drive.teamdrives.update |
روشهای بارگیری (۲۰۰ واحد سهمیه)
| روش |
|---|
drive.files.download، drive.files.export، drive.files.get (with alt=media) |
drive.revisions.get (with alt=media) |
روشهای دیگر (۵ واحد سهمیه)
| روش |
|---|
drive.changes.getStartPageToken |
drive.channels.stop |
drive.files.generateCseToken، drive.files.generateIds، drive.files.listLabels |
drive.operations.get |
drive.permissions.getIdForEmail |
محدودیتهای اضافی
هنگام کار با Drive API، محدودیتهای زیر اعمال میشود:
کاربران Google Workspace فقط میتوانند ۷۵۰ گیگابایت در روز بین My Drive و همه درایوهای مشترک بارگذاری کنند؛ این محدودیت برای نسخهها نیز اعمال میشود.
کاربرانی که به حد ۷۵۰ گیگابایت میرسند یا فایلی بزرگتر از ۷۵۰ گیگابایت بارگذاری میکنند، تا ۲۴ ساعت نمیتوانند فایل دیگری بارگذاری یا کپی کنند.
حداکثر اندازه فایلی که کاربران میتوانند بارگذاری کنند ۵ ترابایت است؛ فقط اولین فایلی که از این حد فراتر میرود بارگذاری میشود. حداکثر اندازه فایلی که کاربران میتوانند کپی کنند ۷۵۰ گیگابایت است.
اعلانهای ارسالشده به نشانی مشخصشده هنگام باز کردن کانال اعلان، جزو محدودیتهای سهمیه شما محسوب نمیشوند. بااینحال، تماس با روشهای
changes.watch،channels.stop، وfiles.watchدر سهمیه شما حساب میشود.بهشرطی که در محدوده سهمیه دقیقهای بمانید، محدودیتی برای تعداد درخواستهایی که میتوانید در روز ارسال کنید وجود ندارد.
بسته به نوع حساب Google Workspace شما، محدودیتهای فضای ذخیرهسازی Drive دیگری نیز وجود دارد.
حل کردن خطاهای سهمیه مبتنی بر زمان
برای همه خطاهای مبتنی بر زمان (حداکثر N درخواست در هر X دقیقه)، توصیه میکنیم کد شما استثنا را بگیرد و از عقبنشینی نمایی کوتاه استفاده کند تا مطمئن شوید دستگاههایتان بار اضافی تولید نمیکنند.
عقبنشینی نمایی یک استراتژی استاندارد رسیدگی به خطا برای برنامههای شبکه است. الگوریتم عقبگرد نمایی درخواستها را بااستفاده از زمانهای انتظار افزایشی نمایی بین درخواستها، تا حداکثر زمان عقبگرد، دوباره امتحان میکند. اگر درخواستها همچنان ناموفق بود، مهم است که تأخیر بین درخواستها بهمرور زمان افزایش یابد تا درخواست موفق شود.
الگوریتم نمونه
الگوریتم عقبگرد نمایی درخواستها را بهصورت نمایی امتحان مجدد میکند و زمان انتظار بین امتحانهای مجدد را تا حداکثر زمان عقبگرد افزایش میدهد. برای مثال:
- درخواستی به Google Drive API ارسال کنید.
- اگر درخواست ناموفق بود،
random_number_milliseconds+ ۱ صبر کنید و درخواست را دوباره امتحان کنید. - اگر درخواست ناموفق بود،
random_number_milliseconds+ ۲ صبر کنید و درخواست را دوباره امتحان کنید. - اگر درخواست ناموفق بود،
random_number_milliseconds+ ۴ صبر کنید و درخواست را دوباره امتحان کنید. - و به همین ترتیب، تا
maximum_backoffبار. - به انتظار و تلاش مجدد تا حداکثر تعداد تلاش مجدد ادامه دهید، اما دوره انتظار بین تلاشهای مجدد را افزایش ندهید.
where:
- زمان انتظار
min(((2^n)+random_number_milliseconds), maximum_backoff)است، وnبرای هر تکرار (درخواست) ۱ عدد افزایش مییابد. -
random_number_millisecondsعدد تصادفی از میلیثانیهها است که کمتر یا مساوی ۱۰۰۰ است. این کار کمک میکند تا از مواردی که در آن بسیاری از مشتریان توسط برخی شرایط همگامسازی میشوند و همه بهطور همزمان دوباره امتحان میکنند و درخواستها را در موجهای همگامسازیشده ارسال میکنند، جلوگیری شود. مقدارrandom_number_millisecondsپساز هر درخواست تکرار مجدد دوباره محاسبه میشود. maximum_backoffمعمولاً ۳۲ یا ۶۴ ثانیه است. مقدار مناسب به مورد استفاده بستگی دارد.
کارخواه میتواند پساز رسیدن به زمان maximum_backoff، به تلاش مجدد ادامه دهد.
تلاشهای مجدد پساز این نقطه نیازی به افزایش زمان عقبنشینی ندارند. برای
مثال، اگر کارخواهی از زمان maximum_backoff ۶۴ ثانیه استفاده کند، پساز رسیدن به
این مقدار، کارخواه میتواند هر ۶۴ ثانیه دوباره امتحان کند. در برخیاز موارد،
باید از تلاش مجدد نامحدود کارخواهها جلوگیری شود.
زمان انتظار بین تلاشهای مجدد و تعداد تلاشهای مجدد به مورد استفاده شما و شرایط شبکه بستگی دارد.
قیمتگذاری
همه استفادههای استاندارد از Google Drive API بدون هزینه اضافی دردسترس است. فراتر رفتن از حدود درخواست سهمیه قرار است در اواخر سال ۲۰۲۶ برای حساب صورتحساب Google Cloud شما هزینه داشته باشد. برای اطلاعات بیشتر، مدل استانداردشده Google Workspace برای ابزارها و میاناهای برنامهسازی کاربردی عامل را ببینید.
درخواست افزایش سهمیه
بسته به میزان استفاده از منابع پروژهتان، ممکن است بخواهید درخواست تعدیل سهمیه کنید. فراخوانیهای API توسط حساب سرویس بهعنوان استفاده از یک حساب واحد درنظر گرفته میشود. درخواست برای سهمیه اصلاحشده تضمینی برای تأیید نیست. درخواستهای تعدیل سهمیه که مقدار سهمیه را بهطور قابلتوجهی افزایش میدهند ممکن است برای تأیید شدن به زمان بیشتری نیاز داشته باشند.
همه پروژهها سهمیههای یکسانی ندارند. با گذشت زمان و افزایش استفاده شما از Google Cloud، ممکن است لازم باشد مقادیر سهمیه شما افزایش یابد. اگر انتظار دارید در آینده استفاده شما بهطور قابلتوجهی افزایش یابد، میتوانید بهطور پیشکنشی درخواست اصلاح سهمیه را از صفحه سهمیهها و حدود سیستم در کنسول Google Cloud ارسال کنید.
برای اطلاعات بیشتر، منابع زیر را ببینید:
سهمیههای سرور MCP در Drive
سرور MCP در Drive از سنجه تخصیص هزینه پُرسمان استفاده میکند. جدولهای زیر جزئیات هزینه پُرسمان را برای هر روش سرور MCP در Drive براساس بخش نشان میدهد:
سهمیههای Drive MCP
دو نوع سهمیه اعمال میشود:
در دقیقه برای هر پروژه: این هزینه پُرسمان برای پروژه Google Cloud شما در یک دقیقه است.
در دقیقه بهازای هر کاربر بهازای هر پروژه: این هزینه پُرسمان برای پروژه Google Cloud شما برای یک دقیقه است که هر کاربر خاص میتواند استفاده کند.
جدول زیر جزئیات این سهمیهها را نشان میدهد:
| نوع حد استفاده | حد |
|---|---|
| در دقیقه برای هر پروژه | ۳۲۵٬۰۰۰ |
| در دقیقه برای هر کاربر در هر پروژه | ۱٬۰۰۰٬۰۰۰ |
سهمیههای مجموعه ابزار MCP در Drive
جدول زیر جزئیات هزینه پُرسمان را برای هر مجموعه ابزار drivemcp.googleapis.com نشان میدهد:
| نقطه پایانی | ابزار | هزینه پُرسمان |
|---|---|---|
/mcp/v1 |
|
50 |
|
50 |
|
|
۲۰۰ |
|
|
5 |
|
|
5 |
|
|
100 |
|
|
۲۰۰ |
|
|
100 |
برای اطلاعات بیشتر، به مرجع Drive MCP API مراجعه کنید.