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

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

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

ملاحظة: يتم فرض حدود إضافية على ساعات النماذج. يمكنك الاطّلاع على مقالة إعداد الإشعارات الفورية وتلقّيها للحصول على المزيد من المعلومات.

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

الحصص
قراءة الطلبات
في اليوم لكل مشروع غير محدودة
في الدقيقة لكل مشروع 975
في الدقيقة لكل مستخدم لكل مشروع 390
طلبات القراءة المكلفة

(يتم استخدامه لطلبات forms.responses.list.)

في اليوم لكل مشروع غير محدودة
في الدقيقة لكل مشروع 450
في الدقيقة لكل مستخدم لكل مشروع 180
كتابة الطلبات
في اليوم لكل مشروع غير محدودة
في الدقيقة لكل مشروع 375
في الدقيقة لكل مستخدم لكل مشروع 150

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

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

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

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

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

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

المكان:

  • يبلغ وقت الانتظار min(((2^n)+random_number_milliseconds), maximum_backoff)، مع زيادة n بمقدار مرة واحدة لكل تكرار (طلب).
  • random_number_milliseconds هو عدد عشوائي للملي ثانية أقل من أو يساوي 1,000. ويساعد ذلك في تجنُّب الحالات التي تتم فيها مزامنة العديد من البرامج حسب حالة ما، وتتم إعادة المحاولة جميعًا في آنٍ واحد، من خلال إرسال الطلبات في موجات متزامنة. يُعاد احتساب قيمة random_number_milliseconds بعد كل طلب لإعادة المحاولة.
  • تبلغ مدة maximum_backoff عادةً 32 أو 64 ثانية. وتعتمد القيمة المناسبة على حالة الاستخدام.

يمكن للعميل مواصلة إعادة المحاولة بعد بلوغ الوقت maximum_backoff. لا تحتاج إعادات المحاولة بعد هذه المرحلة إلى زيادة وقت التراجع. على سبيل المثال، إذا كان العميل يستخدم maximum_backoff وقت مدته 64 ثانية، يمكن للعميل إعادة المحاولة كل 64 ثانية بعد الوصول إلى هذه القيمة. وفي مرحلة ما، يجب منع العملاء من إعادة المحاولة إلى أجل غير مسمى.

تعتمد مدّة الانتظار بين عمليات إعادة المحاولة وعدد هذه المحاولات على حالة الاستخدام وحالة الشبكة.

التسعير

تتوفّر جميع استخدامات Google Sheets API بدون تكلفة إضافية. إنّ تجاوز حدود طلبات الحصة لا يؤدي إلى تحصيل رسوم إضافية ولا يتم تحصيل فواتير من حسابك.

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

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

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

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