إحضار وظائفك الخاصة إلى Azure Static Web Apps

توفر Azure Static Web Apps تكامل واجهة برمجة التطبيقات للسماح لك بإنشاء تطبيقات الويب الأمامية التي تعتمد على واجهات برمجة التطبيقات الخلفية للبيانات والخدمات. خيارا تكامل واجهة برمجة التطبيقات هما: الوظائف المدارة وإحضار الواجهات الخلفية الخاصة بك. لمزيد من المعلومات حول الاختلافات بين هذه الخيارات، راجع نظرة عامة.

توضح هذه المقالة كيفية ربط تطبيق Azure Functions موجود بمورد Azure Static Web Apps.

إشعار

يتطلب التكامل مع Azure Functions خطة Static Web Apps Standard.

تكامل الواجهة الخلفية غير مدعوم في بيئات طلب سحب Static Web Apps.

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

لربط تطبيق دالة بتطبيق الويب الثابت، تحتاج إلى مورد Azure Functions موجود وتطبيق ويب ثابت.

مورد ‏‏الوصف
دالات Azure إذا لم يكن لديك واحد بالفعل، فاتبع الخطوات الواردة في دليل البدء باستخدام Azure Functions .
تطبيق ويب ثابت موجود إذا لم يكن لديك واحد بالفعل، فاتبع الخطوات الواردة في دليل البدء لإنشاء تطبيق ويب ثابت No Framework .

مثال

ضع في اعتبارك تطبيق Azure Functions موجود يعرض نقطة نهاية عبر الموقع التالي.

https://my-functions-app.azurewebsites.net/api/getProducts

بمجرد الربط، يمكنك الوصول إلى نفس نقطة النهاية هذه من خلال api المسار من تطبيق الويب الثابت، كما هو موضح في عنوان URL هذا المثال.

https://red-sea-123.azurestaticapps.net/api/getProducts

يشير كل من عناوين URL لنقطة النهاية إلى نفس الدالة. يجب أن تحتوي نقطة النهاية على تطبيق الوظائف على البادئة /api ، نظرا لأن Static Web Apps تطابق الطلبات المقدمة إلى /api المورد المرتبط وتوكله.

إزالة الوظائف المدارة من مورد Static Web Apps (إذا كان موجودا)

قبل إقران تطبيق Functions موجود، تحتاج أولا إلى ضبط تكوين تطبيق الويب الثابت لإزالة الوظائف المدارة إذا كان لديك أي منها.

  1. تعيين api_location قيمة إلى سلسلة فارغة ("") في ملف تكوين سير العمل.
  1. افتح مثيل Static Web Apps في مدخل Microsoft Azure.

  2. من القائمة الإعدادات، حدد واجهات برمجة التطبيقات.

  3. من صف الإنتاج، حدد ارتباط لفتح نافذة ربط الواجهة الخلفية الجديدة.

    أدخل الإعدادات التالية.

    الإعداد القيمة‬
    نوع مورد الواجهة الخلفية حدد Function App.
    الوصف حدد اسم اشتراك Azure الخاص بك.
    اسم المورد حدد اسم تطبيق Azure Functions.
    فتحة الواجهة الخلفية حدد اسم الفتحة ل Azure Function.
  4. حدد ارتباط.

يتم الآن تعيين تطبيق Azure Functions إلى /api مسار تطبيق الويب الثابت.

هام

تأكد من تعيين api_location القيمة إلى سلسلة فارغة ("") في ملف تكوين سير العمل قبل ربط تطبيق Functions موجود. أيضا، تفترض المكالمات أن تطبيق الوظائف الخارجية يحتفظ ببادئة المسار الافتراضية api . تقوم العديد من التطبيقات بإزالة هذه البادئة في host.json. تأكد من وجود البادئة في التكوين، وإلا فشل الاستدعاء.

التوزيع

أنت مسؤول عن إعداد سير عمل توزيع لتطبيق Azure Functions.

لإلغاء ربط تطبيق دالة بتطبيق ويب ثابت، اتبع الخطوات التالية:

  1. في مدخل Microsoft Azure، انتقل إلى تطبيق الويب الثابت.

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

  3. حدد موقع البيئة التي تريد إلغاء ارتباطها وحدد اسم تطبيق الدالة.

  4. حدد إلغاء الارتباط.

عند اكتمال عملية إلغاء الارتباط، لم تعد الطلبات إلى المسارات التي تبدأ بها /api موصولة بتطبيق Azure Functions.

إشعار

لمنع تعريض تطبيق الوظائف عن طريق الخطأ لنسبة استخدام الشبكة المجهولة، لا يتم حذف موفر الهوية الذي تم إنشاؤه بواسطة عملية الربط تلقائيا. يمكنك حذف موفر الهوية المسمى Azure Static Web Apps (Linked) من إعدادات مصادقة تطبيق الوظائف.

إزالة المصادقة من مورد Azure Functions

لتمكين تطبيق Azure Functions من تلقي نسبة استخدام الشبكة المجهولة، اتبع الخطوات التالية لإزالة موفر الهوية:

  1. في مدخل Microsoft Azure، انتقل إلى مورد Azure Functions.

  2. حدد Authentication من قائمة التنقل.

  3. من قائمة موفري الهوية، احذف موفر الهوية المرتبط بمورد Static Web Apps.

  4. حدد إزالة المصادقة لإزالة المصادقة والسماح بنسبة استخدام الشبكة المجهولة إلى مورد Azure Functions.

أصبح تطبيق الوظائف الخاص بك الآن قادرا على تلقي نسبة استخدام الشبكة المجهولة.

قيود الأمان

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

    إشعار

    إذا قمت بتمكين المصادقة والتخويل في تطبيق الوظائف المرتبط، يجب أن يستخدم Azure App Service Authentication والإصدار 2 من موفر التخويل.

  • إمكانية الوصول العامة المطلوبة: يحتاج تطبيق Functions الموجود إلى عدم تطبيق تكوينات الأمان التالية.

    • تقييد عنوان IP لتطبيق الوظائف.
    • تقييد حركة المرور من خلال ارتباط خاص أو نقاط نهاية الخدمة.
  • مفاتيح الوصول إلى الدالة: إذا كانت وظيفتك تتطلب مفتاح وصول، فيجب عليك تزويد المفتاح باستدعاءات من التطبيق الثابت إلى واجهة برمجة التطبيقات.

القيود

  • يتوفر تطبيق Azure Functions واحد فقط لتطبيق ويب ثابت واحد.
  • api_location يجب تعيين القيمة في تكوين سير العمل إلى سلسلة فارغة.
  • غير مدعوم في بيئات طلب سحب Static Web Apps.
  • بينما قد يستجيب تطبيق Azure Functions إلى مشغلات مختلفة، يمكن لتطبيق الويب الثابت الوصول إلى الوظائف فقط عبر نقاط نهاية Http.

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