تكوين واجهة برمجة التطبيقات للأحداث المرسلة من الخادم
ينطبق على: المطور | أساسي | الإصدار 2 الأساسي | قياسي | الإصدار 2 القياسي | Premium | Premium v2
توفر هذه المقالة إرشادات لتكوين واجهة برمجة تطبيقات في APIM التي تنفذ الأحداث المرسلة من الخادم (SSE). يستند SSE إلى معيار HTML5 EventSource
لتدفق (دفع) البيانات تلقائيًا إلى عميل عبر HTTP بعد أن يقوم العميل بإنشاء اتصال.
تلميح
توفر APIM أيضًا دعمًا أصليًا لواجهات برمجة تطبيقات WebSocket، والتي تحافظ على اتصال واحد ومستمر ثنائي الاتجاه مفتوح بين العميل والخادم.
المتطلبات الأساسية
- مثيل APIM موجود. أنشئ واحد إذا لم تكن قد قمت بذلك بالفعل.
- واجهة برمجة تطبيقات تنفذ SSE. قم باستيراد واجهة برمجة التطبيقات ونشرها إلى مثيل APIM باستخدام إحدى طرق الاستيراد المدعومة.
إرشادات SSE
اتبع هذه الإرشادات عند استخدام إدارة واجهة برمجة التطبيقات للوصول إلى واجهة برمجة تطبيقات خلفية تنفذ SSE.
اختر مستوى الخدمة لاتصالات HTTP طويلة الأمد - يعتمد SSE على اتصال HTTP طويل الأمد مدعوم في مستويات تسعير APIM معينة. يتم دعم الاتصالات طويلة الأمد في طبقات إدارة واجهة برمجة التطبيقات الكلاسيكية و v2، ولكن ليس في طبقة الاستهلاك.
إبقاء الاتصالات الخاملة حية - إذا كان الاتصال بين العميل والواجهة الخلفية خاملاً لمدة 4 دقائق أو أكثر، فنفذ آلية للحفاظ على الاتصال حيًا. على سبيل المثال، قم بتمكين إشارة TCP حافظة في الواجهة الخلفية للاتصال، أو أرسل نسبة استخدام الشبكة من جانب العميل مرة واحدة على الأقل لكل 4 دقائق.
هذا التكوين مطلوب لتجاوز مهلة جلسة العمل الخاملة البالغة 4 دقائق التي يتم فرضها بواسطة موازن تحميل Azure، والذي يتم استخدامه في البنية الأساسية لإدارة واجهة برمجة التطبيقات.
ترحيل الأحداث مباشرة إلى العملاء - إيقاف تشغيل التخزين المؤقت للاستجابة على
forward-request
النهج بحيث يتم ترحيل الأحداث على الفور إلى العملاء. على سبيل المثال:<forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
تجنب النهج الأخرى التي تخزن الاستجابات مؤقتًا - يمكن لبعض النهج مثل
validate-content
أيضًا تخزين محتوى الاستجابة مؤقتًا ولا ينبغي استخدامها مع واجهات برمجة التطبيقات التي تنفذ SSE.تجنب تسجيل نص الطلب/الاستجابة ل Azure Monitor وApplication Insights ومراكز الأحداث - يمكنك تكوين تسجيل طلب واجهة برمجة التطبيقات ل Azure Monitor أو Application Insights باستخدام إعدادات التشخيص. تسمح لك إعدادات التشخيص بتسجيل نص الطلب/الاستجابة في مراحل مختلفة من تنفيذ الطلب. بالنسبة لواجهات برمجة التطبيقات التي تنفذ SSE، يمكن أن يؤدي هذا إلى تخزين مؤقت غير متوقع يمكن أن يؤدي إلى مشاكل. تنطبق إعدادات التشخيص ل Azure Monitor وApplication Insights التي تم تكوينها في نطاق global/All APIs على جميع واجهات برمجة التطبيقات في الخدمة. يمكنك تجاوز إعدادات واجهات برمجة التطبيقات الفردية حسب الحاجة. عند تسجيل الدخول إلى مراكز الأحداث، يمكنك تكوين نطاق ومقدار معلومات السياق لتسجيل الطلب/الاستجابة باستخدام log-to-eventhubs. بالنسبة لواجهات برمجة التطبيقات التي تنفذ SSE، تأكد من تعطيل تسجيل نص الطلب/الاستجابة ل Azure Monitor وApplication Insights ومراكز الأحداث.
تعطيل التخزين المؤقت للاستجابة - للتأكد من أن الإعلامات مرسلة إلى العميل في الوقت المناسب، تحقق من عدم تمكين التخزين المؤقت للاستجابة. لمزيد من المعلومات، راجع نهج التخزين المؤقت لإدارة واجهة برمجة التطبيقات.
اختبار واجهة برمجة التطبيقات تحت التحميل - اتبع الممارسات العامة لاختبار واجهة برمجة التطبيقات تحت التحميل للكشف عن مشكلات الأداء أو التكوين قبل الانتقال إلى الإنتاج.
الخطوات التالية
- تعرف على المزيد حول تكوين النهج في APIM.
- تعرف على سعة APIM.