ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: المطور | أساسي | الإصدار 2 الأساسي | قياسي | الإصدار 2 القياسي | Premium | Premium v2
يمنع نهج rate-limit-by-key
طفرات استخدام واجهة برمجة التطبيقات على أساس المفتاح عن طريق الحدّ من معدل الاستدعاء لرقم محدد لكل فترة زمنية محددة. يمكن أن يتضمن المفتاح قيمة سلسلة إجبارية، ويتم توفيرها عادةً باستخدام التعبير عن النهج. يمكن إضافة شرط الزيادة الاختيارية لتحديد الطلبات التي ينبغي حسابها ضمن الحد. عند تجاوز معدل الاستدعاء، يتلقى المتصل التعليمة البرمجية 429 Too Many Requests
لحالة الاستجابة.
لفهم الفرق بين حدود المعدلات والحصص، راجع حدود المعدلات والحصص النسبية.
تنبيه
نظرا للطبيعة الموزعة لهندسة التقييد، فإن تحديد المعدل لا يكون دقيقا تماما أبدا. يختلف الفرق بين العدد المكون للطلبات المسموح بها والرقم الفعلي اعتمادا على حجم الطلب ومعدله وزمن انتقال الواجهة الخلفية وعوامل أخرى.
إشعار
تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. لمساعدتك في تكوين هذا النهج، يتيح المدخل محررًا موجهًا يستند إلى النموذج. تعلم كيفية إعداد نُهج APIM أو تعديلها.
نهج السياسة
<rate-limit-by-key calls="number"
renewal-period="seconds"
increment-condition="condition"
increment-count="number"
counter-key="key value"
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"/>
سمات
السمة | الوصف | مطلوبة | افتراضي |
---|---|---|---|
المكالمات | الحد الأقصى لإجمالي عدد الاستدعاءات المسموح بها لقيمة المفتاح أثناء الفاصل الزمني المحدد في renewal-period . يتم السماح بتعبيرات النهج. |
نعم | غير متوفر |
مفتاح مضاد | المفتاح الذي يجب استخدامه لنهج حدّ المعدل. لكل قيمة مفتاح، يتم استخدام عداد واحد لجميع النطاقات التي يتم تكوين النهج بها. يتم السماح بتعبيرات النهج. | نعم | غير متوفر |
حالة الزيادة | التعبير المنطقي الذي يحدد ما إذا كان يجب حساب الطلب نحو المعدل (true ). يتم السماح بتعبيرات النهج ولكنها ستؤجل إجراءات التقييم والزيادات المضادة إلى نهاية البنية الأساسية لبرنامج ربط العمليات التجارية الصادرة. |
لا | غير متوفر |
زيادة العد | الرقم الذي يتم من خلاله زيادة العداد لكل طلب. يتم السماح بتعبيرات النهج ولكن سيتم تأجيل التقييم ولزيادة العداد إلى نهاية البنية الأساسية لبرنامج ربط العمليات التجارية الصادرة. | لا | 1 |
فترة التجديد | الطول محسوبًا بالثواني للنافذة المنزلقة التي خلالها ينبغي ألا يتجاوز عدد الطلبات المسموح بها القيمة المحددة في calls . الحد الأقصى للقيمة المسموح بها: 300 ثانية. يتم السماح بتعبيرات النهج. |
نعم | غير متوفر |
إعادة المحاولة بعد اسم الرأس | اسم عنوان استجابة مخصص قيمته هي الفاصل الزمني الموصى به لإعادة المحاولة بالثوان بعد تجاوز معدل الاستدعاء المحدد لقيمة المفتاح. تعبيرات النهج غير مسموح بها. | لا | Retry-After |
إعادة المحاولة بعد اسم المتغير | اسم متغير تعبير النهج الذي يخزن الفاصل الزمني لإعادة المحاولة الموصى به بالثوان بعد تجاوز معدل الاستدعاء المحدد لقيمة المفتاح. تعبيرات النهج غير مسموح بها. | لا | غير متوفر |
اسم عنوان المكالمات المتبقية | اسم عنوان الاستجابة الذي تكون قيمته بعد كل تنفيذ نهج هو عدد الاستدعاءات المتبقية المسموح بها لقيمة المفتاح في الفاصل الزمني المحدد في renewal-period . تعبيرات النهج غير مسموح بها. |
لا | غير متوفر |
الاسم المتغير للمكالمات المتبقية | اسم متغير تعبير النهج الذي بعد كل تنفيذ نهج يخزن عدد الاستدعاءات المتبقية المسموح بها لقيمة المفتاح في الفاصل الزمني المحدد في renewal-period . تعبيرات النهج غير مسموح بها. |
لا | غير متوفر |
إجمالي المكالمات-اسم الرأس | اسم عنوان الاستجابة الذي تكون قيمته هي القيمة المحددة في calls . تعبيرات النهج غير مسموح بها. |
لا | غير متوفر |
الاستخدام
- أقسام النهج:الواردة.
- نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
- البوابات: الكلاسيكية، الإصدار 2، المستضافة ذاتيا، مساحة العمل
ملاحظات الاستخدام
- تستخدم API Management عدادا واحدا لكل
counter-key
قيمة تحددها في النهج. يتم تحديث العداد في جميع النطاقات التي يتم فيها تكوين النهج بقيمة المفتاح هذه. إذا كنت ترغب في تكوين عدادات منفصلة في نطاقات مختلفة (على سبيل المثال، واجهة برمجة تطبيقات أو منتج معين)، فحدد قيم مفاتيح مختلفة في النطاقات المختلفة. على سبيل المثال، إلحاق سلسلة تعرف النطاق بقيمة تعبير. - يمكن تكوين عدد حدود المعدلات في بوابة مستضافة ذاتيا للمزامنة محليا (بين مثيلات البوابة عبر عقد نظام المجموعة)، على سبيل المثال، من خلال نشر مخطط Helm ل Kubernetes أو باستخدام قوالب توزيع مدخل Azure. ومع ذلك، لا تتم مزامنة عدد حدود المعدل مع موارد البوابة الأخرى التي تم تكوينها في مثيل APIM، بما في ذلك البوابة المدارة في السحابة. معرفة المزيد
- يتتبع هذا النهج الاستدعاءات بشكل مستقل في كل بوابة حيث يتم تطبيقها، بما في ذلك بوابات مساحة العمل والبوابات الإقليمية في نشر متعدد المناطق. لا يجمع بيانات الاستدعاء عبر المثيل بأكمله.
- عندما
increment-condition
يتم تعريف أوincrement-count
باستخدام التعبيرات، يتم تأجيل تقييم ولزيادة عداد حد المعدل إلى نهاية البنية الأساسية لبرنامج ربط العمليات التجارية الصادرة للسماح بتعبيرات النهج استنادا إلى الاستجابة. لا يتم تقييم الشرط الذي تم تجاوزه الحد في نفس الوقت في هذه الحالة وسيتم تقييمه في المكالمة الواردة التالية. يؤدي هذا إلى الحالات التي يتم فيها429 Too Many Requests
إرجاع رمز الحالة 1 استدعاء في وقت لاحق من المعتاد.
مثال
في المثال التالي، يتم تحديد مفتاح الحد الأقصى لمعدل الاستدعاء وهو 10 مكالمات لكل 60 ثانية بواسطة عنوان IP المتصل. بعد كل تنفيذ نهج، يتم تخزين الاستدعاءات المتبقية المسموح بها لعنوان IP المتصل هذا في الفترة الزمنية في المتغير remainingCallsPerIP
.
<policies>
<inbound>
<base />
<rate-limit-by-key calls="10"
renewal-period="60"
increment-condition="@(context.Response.StatusCode == 200)"
counter-key="@(context.Request.IpAddress)"
remaining-calls-variable-name="remainingCallsPerIP"/>
</inbound>
<outbound>
<base />
</outbound>
</policies>
للحصول على مزيدٍ من المعلومات والأمثلة على هذا النهج، راجع تقييد الطلب المتقدم باستخدام APIM في Azure.
النهج ذات الصلة
المحتوى ذو الصلة
لمزيد من المعلومات حول العمل مع النُهج، راجع:
- البرنامج التعليمي: تحويل واجهة برمجة التطبيقات الخاصة بك وحمايتها
- Policy reference لقائمة كاملة من بيانات النُهج وإعداداتها
- تعبيرات النهج
- تعيين النهج أو تحريرها
- إعادة استخدام التكوينات الخاصة بالنهج
- مستودع القصاصات البرمجية للنهج
- مستودع ملعب النهج
- مجموعة أدوات نهج إدارة واجهة برمجة تطبيقات Azure
- الحصول على مساعدة Copilot لإنشاء النهج وشرحها واستكشاف الأخطاء وإصلاحها