دعم واجهة برمجة التطبيقات في Azure Static Web Apps باستخدام Azure Functions

غالبا ما تكون تطبيقات الويب الأمامية واجهات برمجة تطبيقات نهاية الاتصال للبيانات والخدمات. بشكل افتراضي، توفر Azure Static Web Apps نقاط نهاية API بلا خادم مضمنة عبر Azure Functions.

تتوفر واجهات برمجة تطبيقات Azure Functions في Static Web Apps في تكوينين محتملين اعتمادا على خطة الاستضافة:

  • الوظائف المدارة: افتراضيا، واجهة برمجة التطبيقات لتطبيق ويب ثابت هو تطبيق Azure Functions تتم إدارته ونشره بواسطة Azure Static Web Apps المقترنة ببعض القيود.

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

يتباين الجدول التالي بين الاختلافات بين استخدام الدالات المدارة والحالية.

ميزة الدالات المدارة إحضار الوظائف الخاصة بك
الوصول إلى مشغلات وروابط Azure Functions HTTP فقط الكل
أوقات تشغيل Azure Functions المدعومة 1 Node.js 12
Node.js 14
Node.js 16
Node.js 18
.NET Core 3.1
.NET 6.0
.NET 7.0
برنامج Python 3.8
Python 3.9
Python 3.10
الكل
خطط استضافة Azure Functions المدعومة الاستهلاك‬ الاستهلاك‬
متميز
مخصصة
أمان متكامل مع الوصول المباشر إلى مصادقة المستخدم وبيانات التخويل المستندة إلى الدور
تكامل التوجيه الذي يجعل /api المسار متاحا لتطبيق الويب بشكل آمن دون الحاجة إلى قواعد CORS مخصصة.
دالات موزعة (معاينة) للتوزيع العمومي الديناميكي لحساب الواجهة الخلفية.
نموذج برمجة Durable Functions
الهوية المدارة
مصادقة Azure App Service وإدارة الرمز المميز للتخويل
وظائف واجهة برمجة التطبيقات المتوفرة خارج Azure Static Web Apps
مراجع Key Vault

1 لتحديد إصدار وقت التشغيل في الوظائف المدارة، أضف ملف تكوين إلى تطبيق الواجهة الأمامية وقم بتعيين الخاصيةapiRuntime. يخضع الدعم لنهج دعم وقت تشغيل لغة Azure Functions.

تتضمن خيارات واجهة برمجة التطبيقات لتطبيقات الويب الثابتة خدمات Azure التالية:

راجع نظرة عامة على واجهات برمجة التطبيقات لمزيد من المعلومات.

إشعار

تتوفر الوظائف الموزعة مع الدالات المدارة. تقوم الوظائف الموزعة تلقائيا بتوزيع الدالات المدارة إلى مناطق ذات أحمال طلب عالية.

التكوين

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

الوظائف المدارة إنشاء الوظائف الخاصة بك
/api أثناء إصلاح المسار، يمكنك التحكم في موقع مجلد التعليمات البرمجية المصدر لتطبيق الوظائف المدارة. يمكنك تغيير هذا الموقع عن طريق تحرير ملف YAML لسير العمل الموجود في مجلد .github/workflows الخاص بالمستودع. يتم إرسال الطلبات إلى /api المسار إلى تطبيق Azure Functions الحالي.

استكشاف الأخطاء وإصلاحها والسجلات

تتوفر السجلات فقط إذا أضفت Application Insights.

الوظائف المدارة إنشاء الوظائف الخاصة بك
قم بتشغيل التسجيل عن طريق تمكين Application Insights على تطبيق الويب الثابت. قم بتشغيل التسجيل عن طريق تمكين Application Insights على تطبيق Azure Functions.

القيود

بالإضافة إلى قيود واجهة برمجة تطبيقات الويب الثابتة، تنطبق القيود التالية أيضا على واجهات برمجة تطبيقات Azure Functions:

الوظائف المدارة إنشاء الوظائف الخاصة بك
  • تقتصر المشغلات والروابط على HTTP.
  • يجب أن يكون تطبيق Azure Functions إما في Node.js 12 أو Node.js 14 أو Node.js 16 أو Node.js 18 (معاينة عامة) أو .NET Core 3.1 أو .NET 6.0 أو Python 3.8 أو Python 3.9 أو Python 3.10.
  • تتم إدارة بعض إعدادات التطبيق بواسطة الخدمة، لذلك يتم حجز البادئات التالية بحلول وقت التشغيل:
    • APPSETTING_، AZUREBLOBSTORAGE_، AZUREFILESSTORAGE_، AZURE_FUNCTION_، CONTAINER_، DIAGNOSTICS_، DOCKER_، FUNCTIONS_، IDENTITY_، MACHINEKEY_، MAINSITE_، MSDEPLOY_، SCMSITE_، SCM_، WEBSITES_، WEBSITE_، WEBSOCKET_، AzureWeb
  • تستخدم الخدمة بعض علامات التطبيق داخليا. لذلك، يتم حجز العلامات التالية:
    • AccountId، EnvironmentId، FunctionAppId.
  • أنت مسؤول عن إدارة نشر تطبيق Functions.

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