مشاركة عبر


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

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

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

تلميح

يمكن لفرق واجهة برمجة التطبيقات استخدام هذه الميزة في مساحات العمل. توفر مساحات العمل وصولا إداريا معزولا إلى واجهات برمجة التطبيقات وبيئات وقت تشغيل واجهة برمجة التطبيقات الخاصة بها.

على سبيل المثال، قد تحتاج إلى تعيين عنوان استجابة مخصص. أو، قم بتكوين سياسة تحديد السعر لحماية واجهة برمجة التطبيقات الخلفية الخاصة بك، حتى لا يفرط المطورون في استخدام الواجهة. هذه الأمثلة هي مقدمة بسيطة لنهج APIM. لمزيد من خيارات النهج، راجع نُهج API Management.

إشعار

بشكل افتراضي، تكوّن API Management نهج forward-request عموميًا. نهج forward-request مطلوب للبوابة لإكمال طلب إلى إحدى خدمات الخلفية.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • تحويل واجهة برمجة تطبيقات لتعيين عنوان استجابة مخصص
  • حماية واجهة برمجة التطبيقات بإضافة سياسة تحديد المعدل، أو تقليل المعدل
  • اختبار التحويلات

لقطة شاشة لنهج APIM في المدخل.

المتطلبات الأساسية

الانتقال إلى مثيل إدارة واجهة برمجة التطبيقات لديك

  1. في مدخل Microsoft Azure، ابحث عن خدمات APIM وحددها:

    لقطة شاشة تعرض خدمات APIM في نتائج البحث.

  2. في صفحة خدمات إدارة واجهة برمجة التطبيقات ، حدد مثيل إدارة واجهة برمجة التطبيقات:

    لقطة شاشة تعرض مثيل APIM في صفحة خدمات APIM.

اختبار الاستجابة الأصلية

للاطلاع على الاستجابة الأصلية:

  1. في نسخة خدمة إدارة واجهات برمجة التطبيقات الخاصة بك، اختر واجهات برمجة التطبيقات> (APIs).
  2. من قائمة واجهات برمجة التطبيقات الخاصة بك، اختر متجر Swagger Petstore.
  3. في أعلى الشاشة، اختر اختبار.
  4. اختر عملية GET Finds Pets حسب الحالة، واختر اختياريا قيمة مختلفة من معامل استعلامالحالة.
  5. حدد إرسال.

ينبغي أن تتشابه الاستجابة الأصلية لواجهة برمجة التطبيقات مع الاستجابة التالية:

لقطة شاشة لاستجابة API الأصلية في بوابة Azure.

تحويل واجهة برمجة تطبيقات لإضافة عنوان استجابة مخصص

تتضمن APIM العديد من نهج التحويل التي يمكنك استخدامها لتعديل حمولات الطلب أو الاستجابة أو الرؤوس أو رموز الحالة. في هذا المثال، يمكنك تعيين عنوان استجابة مخصص في استجابة واجهة برمجة التطبيقات.

تعيين سياسة التحويل

يوضح لك هذا القسم كيفية تكوين عنوان استجابة مخصص باستخدام النهج set-header . هنا يمكنك استخدام محرر نهج يستند إلى نموذج يبسط تكوين النهج.

  1. حدد Swagger Petstore>Design>All operations.

  2. في قسم معالجة الوارد، حدد + إضافة نهج.

    لقطة شاشة للانتقال إلى النهج الصادر في المدخل.

  3. في نافذة إضافة نهج وارد، حدد تعيين العناوين.

    لقطة شاشة لتكوين نهج تعيين الرؤوس في المدخل.

  4. لتكوين سياسة رؤوس المجموعة:

    1. ضمن الاسم، أدخل مخصص.
    2. ضمن القيمة، حدد + إضافة قيمة. هنا يأتي دور My Custom Value.
    3. حدد حفظ.

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

    لقطة شاشة لنهج تعيين الرؤوس الصادرة في المدخل.

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

يوضح هذا القسم كيفية إضافة حماية لواجهة برمجة التطبيقات الخلفية الخاصة بك من خلال ضبط حدود المعدلات، حتى لا يفرط المطورون في استخدام واجهة برمجة التطبيقات. يوضح هذا المثال كيفية تكوين النهج rate-limit-by-key باستخدام محرر التعليمات البرمجية. في هذا المثال، يتم تعيين الحد إلى ثلاثة استدعاءات لكل 15 ثانية. وبعد مرور 15 ثانية، يمكن للمطور إعادة محاولة الاتصال بواجهة برمجة التطبيقات.

إشعار

هذا النهج غير مدعوم في مستوى الاستهلاك.

  1. حدد Swagger Petstore>Design>All operations.

  2. في قسم معالجة الوارد، حدد أيقونة محرر التعليمات البرمجية (</>).

    لقطة شاشة للانتقال إلى محرر التعليمات البرمجية للنهج الوارد في المدخل.

  3. ضَع المؤشر داخل العنصر <inbound> على سطر فارغ. ثم حدد إظهار القصاصات البرمجية في الركن العلوي الأيمن من الشاشة.

    لقطة شاشة لتحديد إظهار القصاصات البرمجية في محرر النهج الوارد في المدخل.

  4. في النافذة السفلى، ضمن الوصول إلى نُهج التقييد، حدد معدل استدعاءات الحد لكل مفتاح.

    يُضاف العنصر <rate-limit-by-key /> عند المؤشر.

    لقطة شاشة لإدراج حد معدل المكالمة لكل نهج مفتاح في المدخل.

  5. عدّل أيقونة <rate-limit-by-key /> لديك في العنصر <inbound> إلى التعليمة البرمجية التالية. ثم حدد حفظ.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

اختبار التحويلات

عند هذه المرحلة، إذا نظرت إلى التعليمة البرمجية في محرر التعليمات البرمجية، ستبدو نُهجك مثل التعليمة البرمجية التالية:

<policies>
     <inbound>
         <rate-limit calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
         <base />
     </inbound>
     <outbound>
         <set-header name="Custom" exists-action="override">
             <value>"My custom value"</value>
           </set-header>
         <base />
     </outbound>
     <on-error>
         <base />
     </on-error>
 </policies>

يختبر باقي هذا القسم تحويلات السياسة التي قمت بتعيينها في هذه المقالة.

اختبار عنوان الاستجابة المخصص

  1. حدد Swagger Petstore>Test.

  2. اختر عملية GET Finds Pets حسب الحالة، واختر اختياريا قيمة مختلفة من معامل استعلامالحالة. حدد إرسال.

    كما ترى، تتم إضافة عنوان الاستجابة المخصص:

    لقطة شاشة تعرض عنوان الاستجابة المخصص في المدخل.

اختبر حد المعدل

  1. حدد Swagger Petstore>Test.

  2. اختر عملية العثور على الحيوانات الأليفة حسب الحالة . حدد إرسال عدة مرات في صف.

    بعد إرسال عدد كبير جدا من الطلبات في الفترة التي تم تكوينها، تحصل على استجابة طلبات كثيرة جدا 429.

    لقطة شاشة تعرض طلبات كثيرة جدا في الاستجابة في المدخل.

  3. انتظر لمدة 15 ثانية أو أكثر ثم حدد إرسال مجددًا. هذه المرة يجب أن تحصل على استجابة 200 OK .

الحصول على مساعدة Copilot

يمكنك الحصول على مساعدة الذكاء الاصطناعي من Copilot لإنشاء تعريفات نهج APIM وتحريرها. يمكنك استخدام Copilot لإنشاء وتحديث النهج التي تطابق متطلباتك المحددة دون الحاجة إلى معرفة بناء جملة XML. يمكنك أيضا الحصول على تفسيرات للنهج الحالية. ويمكن أن يساعدك Copilot في ترجمة النهج التي ربما تكون قد قمت بتكوينها في حلول إدارة واجهة برمجة التطبيقات الأخرى.

مثال المطالبة:

Generate a policy that adds an Authorization header to the request with a Bearer token.

يتم تشغيل Copilot بواسطة الذكاء الاصطناعي، لذلك من الممكن حدوث مفاجآت وأخطاء. لمزيد من المعلومات، راجع الأسئلة المتداولة حول استخدام Copilot العام.

الملخص

في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:

  • تحويل واجهة برمجة تطبيقات لتعيين عنوان استجابة مخصص
  • حماية واجهة برمجة التطبيقات (API) بإضافة سياسة تحديد السعر
  • اختبار التحويلات

الخطوة التالية

تقدم إلى البرنامج التعليمي الآتي: