كيفية احتساب الطلبات
كل حقل عملية جذري يُنفَّذ هو استدعاء API واحد. يُفوتَر طلب GraphQL الذي يطلب أربعة حقول جذرية كأربعة استدعاءات API، تمامًا كما لو أنك أجريت أربعة طلبات REST. تُحتسب الأسماء المستعارة على مستوى الجذر بشكل منفصل لأن كلًّا منها يُرسل عملية. أما الحقول المتداخلة المحددة من استجابة ذات نوع محدد فلا تضيف استدعاءات API.- تنطبق حدود خطتك الحالية دون تغيير. راجع حدود API لمعرفة المخصص لخطتك.
- طلب عملية جذرية لا تحتاجها يكلّف القدر نفسه الذي يكلّفه استدعاؤها عبر REST. أما تحديد حقول الاستجابة المتداخلة التي تحتاجها فلا يضيف استدعاءات.
- قد يخضع الطلب لحد المعدل في منتصف التنفيذ. تحتفظ الحقول الجذرية التي اكتملت ببياناتها، ولا تُرجع أخطاءً إلا الحقول الجذرية التي خضعت للتقييد؛ راجع النجاح الجزئي.
حدود الاستعلام
تفرض نقطة النهاية بعض الحدود على شكل الاستعلام وحجمه. وهي موجودة حتى لا يتمكن طلب واحد من استهلاك قدر غير معقول من سعتنا، وقد حُدّدت بقيم أعلى بكثير مما يتطلبه الاستخدام العادي؛ فإذا كنت تصطدم بأحدها، فعادةً ما يكون ذلك علامة على استعلام مُولَّد عن طريق الخطأ وليس حاجة حقيقية.
يُرجع الاستعلام المرفوض HTTP 400 إذا أرسلت
Accept: application/graphql-response+json، وHTTP 200 بخلاف ذلك، مع مصفوفة errors دون data في الحالتين. راجع الأخطاء.
استدعاءات API لكل طلب
هذا هو الحد المهم. يمكن لطلب واحد أن يُطلق 5 استدعاءات API كحد أقصى، لذا فإن مثال الحقول الجذرية الأربعة أعلاه مقبول، أما مثال بعشرين حقلًا جذريًا فلا. بمجرد بدء خمس عمليات إرسال، تُرجع الحقول الجذرية الإضافية 429 مع شرح للحد؛ ويمكن للحقول التي أُرسلت بالفعل أن تُرجع بياناتها. إذا احتجت إلى المزيد، فقسّم الاستعلام على عدة طلبات. وإذا وجدت نفسك تفعل ذلك بشكل روتيني لعبء عمل مشروع، فتواصل معنا؛ فالحد متحفّظ عمدًا عند الإطلاق ورفعه أمر سهل، بينما خفضه لاحقًا سيعطّل التكاملات، لذا فهو يبدأ صغيرًا.العمق والحقول والأسماء المستعارة
يُتحقق من هذه الحدود قبل تنفيذ أي شيء، لذا فإن تجاوز أحدها لا يكلّفك أي استدعاءات API على الإطلاق. كما أنها أعلى بفارق مريح من استعلام استبطان (introspection) كامل، والذي يتضمن نحو 180 حقلًا بعمق 12 مستوى دون أسماء مستعارة، لذا يعمل العميل الذي يجلب المخطط بأكمله عند بدء التشغيل بشكل طبيعي.حجم جسم الطلب
64 KB، وهو حجم سخي لاستعلام وصغير جدًا لملف. لهذا السبب لا يمكن رفع الوسائط عبر GraphQL؛ راجع رفع الوسائط لمعرفة المسار المدعوم.المهلات الزمنية
يُمنح الطلب ما يصل إلى 120 ثانية إجمالًا. قد تُنفَّذ الحقول الجذرية في الاستعلام بشكل متزامن، لذا تتحدد مدته عمومًا بأبطأ تبعياته. أما الحقول الجذرية في الطفرة فتُنفَّذ بشكل تسلسلي، لذا قد تتراكم عدة طفرات بطيئة حتى تبلغ المهلة. ولا يزال بإمكان كلا الشكلين أن يضع على الخادم حملًا يعادل خمس عمليات إرسال متزامنة أو متتالية؛ قسّم الأعمال المعروفة ببطئها عند الاقتضاء.ما لا يخضع للحدود
- قراءة المخطط. الاستبطان لا يتطلب مصادقة ولا يُحتسب. تصفح ما هو موجود مجاني؛ أما تنفيذ عملية فليس كذلك.
- الاستعلامات غير الصحيحة. الاستعلام الذي ترفضه GraphQL، كحقل غير معروف أو نوع خاطئ أو قيمة تعداد غير صالحة، لا يصل أبدًا إلى واجهة API لدينا ولا تتم فوترته أبدًا.