حدود الاستخدام

بما أنّ Google Docs API هي خدمة مشترَكة، نطبّق حصصًا وقيودًا للتأكّد من استخدامها بشكل عادل من قِبل جميع المستخدمين وحماية الحالة العامة لنظام Google Workspace.

إذا تجاوزت الحصة، ستتلقّى عادةً استجابة رمز حالة HTTP‏ 429: Too many requests. في هذه الحالة، يجب استخدام خوارزمية التوقف المؤقت المتزايد وإعادة المحاولة لاحقًا.

يوضّح الجدول التالي حدود الطلبات:

الحصص
قراءة الطلبات
في الدقيقة لكل مشروع 3000
في الدقيقة لكل مستخدم لكل مشروع 300
كتابة الطلبات
في الدقيقة لكل مشروع 600
للدقيقة لكل مستخدم لكل مشروع 60

حلّ أخطاء الحصة المستندة إلى الوقت

بالنسبة إلى جميع الأخطاء المستندة إلى الوقت (الحد الأقصى لطلبات N كل X دقائق)، ننصح بأن يرصد الرمز البرمجي الاستثناء ويستخدم وقت انتظار متزايد مقطوع للتأكّد من عدم توليد أجهزتك لحمل زائد.

إنّ التأخير المتزايد هو استراتيجية معالجة أخطاء عادية لتطبيقات الشبكة. تعيد خوارزمية التراجع الأسي الطلبات باستخدام أوقات انتظار متزايدة بشكلٍ تصاعدي بين الطلبات، حتى الحد الأقصى لوقت التراجع. إذا استمرت الطلبات غير ناجحة، من المهم زيادة فترات التأخير بين الطلبات بمرور الوقت إلى أن يصبح الطلب ناجحًا.

مثال على الخوارزمية

تعمل خوارزمية التراجع الأسي على إعادة محاولة الطلبات بشكل متسارع، ما يزيد من وقت الانتظار بين عمليات إعادة المحاولة لتصل إلى الحد الأقصى لوقت التراجع. على سبيل المثال:

  1. قدِّم طلبًا إلى Google Docs API.
  2. إذا تعذّر الطلب، يُرجى الانتظار 1 + random_number_milliseconds وإعادة محاولة الطلب.
  3. إذا تعذّر إكمال الطلب، انتظِر random_number_milliseconds ثانية أو أكثر وأعِد محاولة إكماله.
  4. إذا تعذّر إكمال الطلب، انتظِر 4 ثوانٍ أو أكثر ثم أعِد محاولة إكماله.
  5. وهكذا، يصل إلى مرة واحدة (maximum_backoff).
  6. يُرجى الانتظار وإعادة المحاولة حتى الحد الأقصى لعدد مرات إعادة المحاولة، ولكن لا تزيد مدّة الانتظار بين عمليات إعادة المحاولة.

حيث:

  • وقت الانتظار هو 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 بدون أي تكلفة إضافية. لا يؤدي تجاوز الحصة أو حدود الطلبات إلى تحمُّل رسوم إضافية ولا يتمّ تحصيل رسوم من حسابك.

طلب زيادة في الحصة

استنادًا إلى استخدام مشروعك للموارد، قد تحتاج إلى طلب زيادة الحصة. تُعتبَر طلبات البيانات من واجهة برمجة التطبيقات التي يقدّمها حساب خدمة أنّها تستخدم حسابًا واحدًا. ولا يضمن طلب الحصول على حصة زائدة الموافقة. قد تستغرق زيادات الحصة الكبيرة وقتًا أطول للموافقة عليها.

لا تتوفّر الحصص نفسها في جميع المشاريع. مع زيادة استخدامك لخدمة Google Cloud بمرور الوقت، قد تحتاج إلى زيادة حصصك. إذا كنت تتوقّع حدوث زيادة ملحوظة في الاستخدام، يمكنك بشكل استباقي طلب تعديل الحصة من صفحة "الحصص" في Google Cloud Console.

لمزيد من المعلومات، يُرجى الاطّلاع على المراجع التالية: