مشاركة عبر


تحديد معدل المكالمة حسب الاشتراك

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يمنع نهج rate-limit طفرات استخدام واجهة برمجة التطبيقات على أساس الاشتراك عن طريق الحدّ من معدل الاستدعاء لرقم محدد لكل فترة زمنية محددة. عند تجاوز معدل الاستدعاء، يتلقى المتصل التعليمة البرمجية 429 Too Many Requests لحالة الاستجابة.

لفهم الفرق بين حدود المعدلات والحصص، راجع حدود المعدلات والحصص النسبية.

تنبيه

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

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

<rate-limit calls="number" renewal-period="seconds"  retry-after-header-name="custom header name, replaces default 'Retry-After'" 
        retry-after-variable-name="policy expression variable name"
        remaining-calls-header-name="header name"  
        remaining-calls-variable-name="policy expression variable name"
        total-calls-header-name="header name">
    <api name="API name" id="API id" calls="number" renewal-period="seconds" >
        <operation name="operation name" id="operation id" calls="number" renewal-period="seconds" />
    </api>
</rate-limit>

سمات

السمة ‏‏الوصف مطلوبة افتراضي
المكالمات الحد الأقصى لإجمالي عدد المكالمات المسموح بها خلال الفاصل الزمني المحدد في renewal-period. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر
فترة التجديد الطول محسوبًا بالثواني للنافذة المنزلقة التي خلالها ينبغي ألا يتجاوز عدد الطلبات المسموح بها القيمة المحددة في calls. الحد الأقصى للقيمة المسموح بها: 300 ثانية. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر
إعادة المحاولة بعد اسم الرأس اسم عنوان الاستجابة الذي تكون قيمته عبارة عن الفاصل الزمني الموصى به لإعادة المحاولة محسوبًا بالثواني بعد تجاوز معدل الاستدعاء المحدد. تعبيرات النهج غير مسموح بها. لا Retry-After
إعادة المحاولة بعد اسم المتغير اسم متغير يخزن الفاصل الزمني لإعادة المحاولة الموصى به بالثوان بعد تجاوز معدل الاستدعاء المحدد. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم عنوان المكالمات المتبقية اسم عنوان الاستجابة الذي تكون قيمته بعد تنفيذ كل نهج هو عدد المكالمات المتبقية المسموح بها للفاصل الزمني المحدد في renewal-period. تعبيرات النهج غير مسموح بها. لا غير متوفر
الاسم المتغير للمكالمات المتبقية اسم متغير يقوم بعد كل تنفيذ نهج بتخزين عدد الاستدعاءات المتبقية المسموح بها للفاصل الزمني المحدد في renewal-period. تعبيرات النهج غير مسموح بها. لا غير متوفر
إجمالي المكالمات-اسم الرأس اسم عنوان الاستجابة الذي تكون قيمته هي القيمة المحددة في calls. تعبيرات النهج غير مسموح بها. لا غير متوفر

عناصر

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

سمات واجهة برمجة التطبيقات

السمة ‏‏الوصف مطلوبة افتراضي
الاسم اسم واجهة برمجة التطبيقات لتطبيق حد المعدل. إما name أو id يجب تحديده. غير متوفر
المعرف معرف واجهة برمجة التطبيقات التي يجب تطبيق حد المعدل لها. إما name أو id يجب تحديده. غير متوفر
المكالمات الحد الأقصى لإجمالي عدد المكالمات المسموح بها خلال الفاصل الزمني المحدد في renewal-period. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر
فترة التجديد الطول محسوبًا بالثواني للنافذة المنزلقة التي خلالها ينبغي ألا يتجاوز عدد الطلبات المسموح بها القيمة المحددة في calls. الحد الأقصى للقيمة المسموح بها: 300 ثانية. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر

سمات العملية

السمة ‏‏الوصف مطلوبة افتراضي
الاسم اسم العملية التي سيتم تطبيق حد المعدل لها. إما name أو id يجب تحديده. غير متوفر
المعرف معرف العملية التي يجب تطبيق حد المعدل لها. إما name أو id يجب تحديده. غير متوفر
المكالمات الحد الأقصى لإجمالي عدد المكالمات المسموح بها خلال الفاصل الزمني المحدد في renewal-period. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر
فترة التجديد الطول محسوبًا بالثواني للنافذة المنزلقة التي خلالها ينبغي ألا يتجاوز عدد الطلبات المسموح بها القيمة المحددة في calls. الحد الأقصى للقيمة المسموح بها: 300 ثانية. تعبيرات النهج غير مسموح بها. ‏‏نعم‬ غير متوفر

الاستخدام

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

  • يمكن استخدام هذا النهج مرة واحدة فقط لكل تعريف نهج.
  • يتم تطبيق هذا النهج فقط عند الوصول إلى واجهة برمجة التطبيقات باستخدام مفتاح اشتراك.
  • يمكن تكوين عدد حدود المعدلات في بوابة مستضافة ذاتيا للمزامنة محليا (بين مثيلات البوابة عبر عقد نظام المجموعة)، على سبيل المثال، من خلال نشر مخطط Helm ل Kubernetes أو باستخدام قوالب توزيع مدخل Azure. ومع ذلك، لا تتم مزامنة عدد حدود المعدل مع موارد البوابة الأخرى التي تم تكوينها في مثيل APIM، بما في ذلك البوابة المدارة في السحابة. معرفة المزيد
  • يتتبع هذا النهج الاستدعاءات بشكل مستقل في كل بوابة حيث يتم تطبيقها، بما في ذلك بوابات مساحة العمل والبوابات الإقليمية في نشر متعدد المناطق. لا يجمع بيانات الاستدعاء عبر المثيل بأكمله.

مثال

في المثال التالي، يبلغ الحد الأقصى لمعدل الاشتراك 20 مكالمة لكل 90 ثانية. بعد تنفيذ كل نهج، يتم تخزين المكالمات المتبقية المسموح بها في الفترة الزمنية في المتغير remainingCallsPerSubscription.

<policies>
    <inbound>
        <base />
        <rate-limit calls="20" renewal-period="90" remaining-calls-variable-name="remainingCallsPerSubscription"/>
    </inbound>
    <outbound>
        <base />
    </outbound>
</policies>

لمزيد من المعلومات حول العمل مع النُهج، راجع: