استيراد Azure Container App كواجهة برمجة تطبيقات

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

توضح هذه المقالة كيفية استيراد Azure Container App إلى Azure APIM واختبار واجهة برمجة التطبيقات المستوردة باستخدام مدخل Microsoft Azure. في هذه المقالة، ستتعرف على كيفية:

  • استيراد تطبيق حاوية يعرض واجهة برمجة تطبيقات ويب
  • حدد التطبيق في مدخل Microsoft Azure

كشف تطبيق الحاوية مع APIM

تسمح لك Azure Container Apps بتوزيع التطبيقات في الحاوية دون إدارة البنية الأساسية المعقدة. يمكن لمطوري واجهة برمجة التطبيقات كتابة التعليمة البرمجية باستخدام لغة الكمبيوتر المفضلة لديهم أو إطار العمل، وإنشاء خدمات مصغرة مع دعم كامل لوقت تشغيل التطبيق الموزع (Dapr)، وتغيير الحجم استنادًا إلى نسبة استخدام شبكة HTTP أو الأحداث الأخرى.

APIM هي البيئة الموصى بها لكشف واجهة برمجة تطبيقات الويب المستضافة في الحاوية، وذلك لعدة أسباب:

  • أفصل إدارة وتأمين الواجهة الأمامية المكشوفة لمستهلكي واجهة برمجة التطبيقات عن إدارة واجهة برمجة تطبيقات الويب الخلفية
  • إدارة واجهات برمجة التطبيقات على الويب المستضافة كتطبيقات الحاوية في نفس البيئة التي تستضيفها واجهات برمجة التطبيقات الأخرى
  • تطبيق السياسات لتغيير سلوك واجهة برمجة التطبيقات، مثل تحديد سعر المكالمة
  • توجيه مستهلكي واجهة برمجة التطبيقات إلى بوابة المطورين القابلة للتخصيص في APIM لاكتشاف واجهات برمجة التطبيقات والتعرف عليها وطلب الوصول وتجربتها

لمزيد من المعلومات، راجع حول APIM .

مواصفات OpenAPI مقابل عمليات أحرف البدل

تدعم APIM استيراد تطبيقات الحاوية التي توفر مواصفات OpenAPI (تعريف Swagger). ومع ذلك، فإن مواصفات OpenAPI ليست مطلوبة. نوصي بتوفير مواصفات OpenAPI. يمكن لـ APIM استيراد عمليات فردية، مما يسمح لك بالتحقق من صحة التكوينات وإدارتها وتأمينها وتحديثها لكل عملية على حدة.

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

  • تكوين تطبيق الحاوية.
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

إذا لم يتم توفير مواصفات OpenAPI، تنشئ APIM عمليات أحرف البدل لأفعال HTTP الشائعة (GET وPUT وما إلى ذلك). لا يزال بإمكانك الاستفادة من نفس ميزات APIM، ولكن لا يتم تحديد العمليات على نفس مستوى التفاصيل.

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

مثال

قد يدعم تطبيق الحاوية الخلفي الخاص بك عمليتي GET:

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

تقوم باستيراد تطبيق الحاوية إلى خدمة APIM في مسار مثل https://contosoapi.azure-api.net/store. يوضح الجدول التالي العمليات التي تم استيرادها إلى APIM، إما بمواصفات OpenAPI أو بدونها:

نوع العمليات المستوردة طلبات نموذج
مواصفات OpenAPI GET /customer/{id}

GET /customers
GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers
بدل GET /* GET https://contosoapi.azure-api.net/store/customer/1

GET https://contosoapi.azure-api.net/store/customers

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

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

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

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

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

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

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

استيراد ونشر واجهة برمجة تطبيقات خلفية

  1. انتقل إلى خدمة إدارة API في بوابة Azure وحدد واجهات برمجة التطبيقات من القائمة.

  2. حدد تطبيق الحاوية من القائمة.

    إنشاء من تطبيق الحاوية

  3. حدد استعراض لمشاهدة قائمة تطبيقات الحاوية في اشتراكك.

  4. تحديد تطبيق الحاوية. إذا كان تعريف OpenAPI مرتبطًا بتطبيق الحاوية المحدد، فإن APIM تحضره وتستورده. إذا لم يتم العثور على تعريف OpenAPI، تعرض APIM واجهة برمجة التطبيقات عن طريق إنشاء عمليات أحرف البدل لأفعال HTTP الشائعة.

  5. إضافة لاحقة عنوان URL API. اللاحقة هي اسم يعرّف واجهة برمجة التطبيقات المحددة هذه في مثيل APIM هذا. يجب أن يكون فريداً في مثيل APIM.

  6. نشر API عن طريق ربط API بمنتج. في هذه الحالة، يتم استخدام منتج"Unlimited". إذا كنت تريد نشر واجهة برمجة التطبيقات وإتاحتها للمطورين، فأضفها إلى أحد المنتجات.

    إشعار

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

    يأتي كل مثيل APIM مع نموذجين للمنتجات عند إنشائها:

    • Starter
    • غير محدود
  7. أدخل إعدادات API الأخرى. يمكنك تعيين القيم في أثناء الإنشاء أو تكوينها لاحقًا عن طريق الانتقال إلى علامة التبويب الإعدادات. يتم شرح الإعدادات في استيراد ونشر البرنامج التعليمي الأول لواجهة برمجة التطبيقات.

  8. حدد إنشاء.

    إنشاء واجهة برمجة التطبيقات من تطبيق الحاوية

اختبار API الجديد في مدخل Microsoft Azure

يمكن استدعاء العمليات مباشرة من مدخل Microsoft Azure الذي يوفر طريقة ملائمة لعرض واختبار عمليات واجهة برمجة التطبيقات. يمكنك أيضًا اختبار واجهة برمجة التطبيقات في بوابة المطورين أو استخدام أدوات عميل REST الخاصة بك.

  1. تحديد واجهة برمجة التطبيقات التي أنشأتها في الخطوة السابقة.

  2. حدد علامة التبويب الاختبار.

  3. حدد عملية.

    تعرض الصفحة الحقول لمعلمات الاستعلام وحقول الرؤوس. أحد العناوين هو Ocp-Apim-Subscription-Key، لمفتاح الاشتراك للمنتج المرتبط بواجهة برمجة التطبيقات هذه. إذا قمت بإنشاء مثيل APIM، فأنت مسؤول بالفعل، لذلك يتم ملء المفتاح تلقائيًا.

  4. اضغط Send.

    عند نجاح الاختبار، تستجيب الواجهة الخلفية بـ 200 OK وبعض البيانات.

اختبر عملية أحرف البدل في البوابة

عند إنشاء عمليات حرف البدل، قد لا يتم تعيين العمليات مباشرة إلى واجهة برمجة التطبيقات الخلفية. على سبيل المثال، تستخدم عملية GET الخاصة بحرف البدل التي يتم استيرادها في APIM المسار / افتراضيًا. ومع ذلك، قد تدعم واجهة API الخلفية الخاصة بك عملية GET على المسار التالي:

/api/TodoItems

يمكنك اختبار المسار /api/TodoItems على النحو التالي.

  1. حدد API الذي قمت بإنشائه، وحدد العملية.

  2. حدد علامة التبويب الاختبار.

  3. في معلمات النموذج ، قم بتحديث القيمة بجوار اسم حرف البدل (*). على سبيل المثال، قم بإدخال api/TodoItems. يتم إلحاق هذه القيمة بالمسار / لعملية حرف البدل.

     اختبار عملية حرف البدل

  4. حدد إرسال.

إلحاق واجهات برمجة تطبيقات أخرى

يمكنك إنشاء واجهة برمجة تطبيقات من واجهات برمجة التطبيقات التي تعرضها الخدمات المختلفة، وتشمل:

  • مواصفات OpenAPI
  • واجهة برمجة تطبيقات SOAP
  • واجهة برمجة تطبيقات GraphQL
  • Web App مستضاف في Azure App Service
  • تطبيق الوظائف Azure
  • Azure Logic Apps
  • Azure Service Fabric

إلحاق واجهة برمجة تطبيقات أخرى بتلك الحالية باتباع الخطوات التالية.

إشعار

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

  1. انتقل إلى مثيل Azure API Management في مدخل Azure.

    الانتقال إلى مثيل Azure API Mgmt

  2. حدّد واجهات برمجة التطبيقات في الصفحة نظرة عامة أو من القائمة الموجودة إلى اليمين.

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

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

  4. حدّد استيراد من القائمة المنسدلة.

    حدد استيراد

  5. حدّد خدمة لاستيراد واجهة برمجة تطبيقات منها.

    تحديد خدمة

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