فهم تحديد معدلات واجهة برمجة التطبيقات كاتو

تُطبق حدود المعدل لواجهة برمجة التطبيقات كاتو على أساس كل استعلام وكل حساب. هذا يعني أن لكل استعلام عدادًا فرديًا، ولكنه ينطبق على جميع مفاتيح واجهة برمجة التطبيقات (للمستخدمين المختلفين) الذين يستعلمون ذلك الحساب. لذلك، لن يؤثر الاستعلامان المنفصلان اللذان يجريهما مستخدمان مختلفان على بعضهما البعض. لكن، إذا كان هناك مستخدمان مختلفان يجريان نفس الاستعلام، فهذه الاستعلامات تخضع لنفس العداد (لغرض تحديد المعدل)، ومن الممكن أن يؤثر استعلام أحد المستخدمين على الآخر.

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

حساب Github الخاص بـ Cato يحتوي على نماذج من برامج Python التي تتعامل برفق مع تقييد المعدل من خلال الانتظار لمدة خمس ثوانٍ قبل إعادة المحاولة. يمكن للعملاء تبني استراتيجيات مماثلة في سكريبتات واجهة برمجة التطبيقات الخاصة بهم.

إذا واجه استعلامك مشكلات تتعلق بتحديد المعدل، نوصي بالانتظار لبضع دقائق ثم استئناف إرسال استعلامات واجهة برمجة التطبيقات الإضافية.

معدل تحديد واجهة برمجة التطبيقات العامة

مكالمات واجهة برمجة التطبيقات محدودة بمعدل 120/دقيقة، باستثناء الاستعلامات وعمليات التغيير التالية:

استثناءات الاستعلام

واجهات الاستعلام التالية هي استثناءات ولا تملك حدود معدل 120/دقيقة:

  • accountMetrics: 15/دقيقة

  • accountSnapshot: 1/ثانية (30/دقيقة)

  • appStatsTimeSeries: 80/دقيقة

  • auditFeed: 5/دقيقة

  • entityLookup: 30/دقيقة (1500/5 ساعات)

  • eventsFeed: 100/دقيقة

استثناءات التغيير

واجهات تغيير الحالة التالية هي استثناءات ولا تملك حدود معدل 120/دقيقة:

  • accountManagement.addAccount: 10/دقيقة

  • accountManagement.removeAccount: 5/دقيقة

  • policy.appTenantRestriction.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.dynamicIpAllocation.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.internetFirewall.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.pacFile.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.remotePortFwd.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.socketLanFirewall.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.socketLanNetwork.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.wanFirewall.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.wanNetwork.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • policy.ztnaAlwaysOn.publishPolicyRevision: 3/دقيقة (20/ساعة)

  • sandbox.uploadFile: 5/5 دقائق

هل كان هذا المقال مفيداً؟

1 من 1 وجدوا هذا مفيداً

لا توجد تعليقات