اعتبارات التخزين ل دالات Azure

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

اختر خطة الاستضافة الخاصة بك في أعلى هذا المقال لعرض إرشادات التخزين التي تنطبق على تطبيق الوظيفة الخاص بك.

Diagram يوضح كيف يستخدم دالات Azure خدمات تخزين مختلفة داخل حساب تخزين Azure، بما في ذلك تخزين Blob، ومشاركة الملفات، وتخزين الطوابير، وتخزين الجدول.

خدمة التخزين استخدام الوظائف
Azure تخزين الكتلة الصغيرة الحفاظ على مفاتيح حالة الروابط والوظائف1.
مصدر التوزيع للتطبيقات التي تعمل في خطة استهلاك Flex.
يستخدم بشكل افتراضي لمراكز المهام في Durable Functions.
يمكن استخدامها لتخزين التعليمات البرمجية لتطبيق الوظائف للإنشاء عن بعد لاستهلاك Linux أو كجزء من عمليات نشر عنوان URL للحزمة الخارجية.
ملفات Azure2 مشاركة الملفات المستخدمة لتخزين وتشغيل رمز تطبيق الوظائف الخاص بك في خطة الاستهلاكوالخطة المميزة.
الحفاظ على حزم التمديد.
تخزين سجلات النشر.
يدعم التبعيات المدارة في PowerShell.
Azure تخزين الطابور يستخدم بشكل افتراضي لمراكز المهام في Durable Functions. يستخدم للفشل وإعادة المحاولة في <<محفزات دالات Azure محددة >c0/c0>. يستخدم لتعقب الكائنات بواسطة مشغل تخزين Blob.
Azure تخزين الطاولة يستخدم بشكل افتراضي لمراكز المهام في Durable Functions.
تستخدم لتتبع الأحداث التشخيصية.
  1. تخزين Blob هو المخزن الافتراضي للمفاتيح الوظيفية، ولكن يمكنك تكوين مخزن بديل.
  2. ملفات Azure تم إعدادها افتراضيا، لكن يمكنك إنشاء تطبيق بدون ملفات Azure تحت ظروف معينة.

اعتبارات هامة

ضع في اعتبارك الحقائق التالية حول حسابات التخزين التي تستخدمها تطبيقات الوظيفة الخاصة بك:

عندما تستضيف تطبيق الوظائف الخاص بك على خطة Consumption (Windows) أو خطة Premium، تقوم بتخزين كود الوظائف وملفات التكوين في ملفات Azure في حساب التخزين المرتبط. إذا حذفت هذا الحساب التخزيني، فإنك تحذف المحتوى بشكل دائم. لمزيد من المعلومات، راجع حذف حساب التخزين.

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

    • تدقيق وتقييد وصول التطبيقات والمستخدمين إلى حساب التخزين استنادا إلى نموذج أقل امتيازا. يمكن أن تأتي الأذونات لحساب التخزين من إجراءات البيانات في الدور المعين أو من خلال الإذن لتنفيذ عملية listKeys.

    • مراقبة كل من نشاط وحدة التحكم (مثل استرداد المفاتيح) وعمليات مستوى البيانات (مثل الكتابة إلى كائن ثنائي كبير الحجم) في حساب التخزين الخاص بك. فكر في الحفاظ على سجلات التخزين في موقع غير تخزين Azure. لمزيد من المعلومات، راجع سجلات التخزين.

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

متطلبات حساب التخزين

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

  • لا يمكنك استخدام حساب تخزين آمن بالشبكة عند استضافة تطبيق الوظائف الخاص بك في خطة الاستهلاك.
  • يجب أن يدعم نوع الحساب تخزين Blob وQueue وTable. لا تدعم بعض حسابات التخزين قوائم الانتظار والجداول. تشمل هذه الحسابات حسابات تخزين كتل فقط وحسابات Azure Premium Storage. لمعرفة المزيد حول أنواع حسابات التخزين، راجع نظرة عامة على حساب التخزين .

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

  • عند إنشاء تطبيق الوظائف على خطة مع تمكين دعم منطقة التوفر ، يتم دعم حسابات التخزين المتكررة في المنطقة فقط.

عند استخدام أتمتة النشر لإنشاء تطبيق الوظائف الخاص بك بحساب تخزين مؤمن بالشبكة، يجب عليك تضمين تكوينات شبكة محددة في قالب ARM أو ملف Bicep الخاص بك. إذا لم تدرج هذه الإعدادات والموارد، فقد يفشل النشر الآلي في التحقق. لنموذج ARM وإرشادات Bicep، انظر Secureprements. للحصول على نظرة عامة على تكوين حسابات التخزين مع الشبكات، راجع كيفية استخدام حساب تخزين آمن مع دالات Azure.

إرشادات حساب التخزين

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

موقع حساب التخزين

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

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

تعيين اتصال حساب التخزين

بشكل افتراضي، تقوم تطبيقات الوظائف بتكوين اتصال AzureWebJobsStorage ك سلسلة الاتصال مخزن في إعدادات تطبيق AzureWebJobsStorage. يمكنك أيضا تكوين AzureWebJobsStorage لاستخدام اتصال قائم على الهوية دون وجود سر.

يمكن لتطبيقات الوظائف التي تعمل في خطة استهلاك (Windows فقط) أو خطة Elastic Premium (Windows أو Linux) استخدام ملفات Azure لتخزين الصور المطلوبة لتمكين التحجيم الديناميكي. لهذه الخطط، قم بتعيين سلسلة الاتصال حساب التخزين في إعداد WEBSITE_CONTENTAZUREFILECONNECTIONSTRING واسم مشاركة الملف في إعداد WEBSITE_CONTENTSHARE. عادة ما تكون هذه القيمة هي نفس الحساب المستخدم ل AzureWebJobsStorage. يمكنك أيضا إنشاء تطبيق وظائف لا يستخدم ملفات Azure، لكن قد يكون التوسع محدودا.

Note

يجب عليك تحديث سلسلة سلسلة الاتصال لحساب التخزين عند إعادة توليد مفاتيح التخزين. لمزيد من المعلومات، راجع إنشاء حساب تخزين Azure.

حسابات التخزين المشتركة

يمكن لتطبيقات متعددة الوظائف مشاركة نفس حساب التخزين بدون مشاكل. على سبيل المثال، في عام Visual Studio، يمكنك تطوير عدة تطبيقات باستخدام محاكي التخزين Azurite. في هذه الحالة، يعمل المحاكي مثل حساب تخزين واحد. نفس حساب التخزين الذي يستخدمه تطبيق الوظيفة يمكنه أيضا تخزين بيانات تطبيقك. ومع ذلك، فإن هذا النهج ليس دائما فكرة جيدة في بيئة التشغيل.

قد تحتاج إلى استخدام حسابات تخزين منفصلة لتجنب تضارب معرف المضيف.

اعتبارات نهج إدارة دورة الحياة

لا تطبق سياسات إدارة دورة الحياة على حسابك مخزن البيانات الثنائية الكبيرة الذي يستخدمه تطبيق الوظيفة الخاص بك. تستخدم الدالات تخزين Blob لاستمرار المعلومات المهمة، مثل مفاتيح الوصول إلى الدالة. يمكن للنهج إزالة الكائنات الثنائية كبيرة الحجم، مثل المفاتيح، التي يحتاجها مضيف الوظائف. إذا كان يجب عليك استخدام النهج، فاستبعد الحاويات المستخدمة بواسطة Functions، والتي تكون مسبوقة ب azure-webjobs أو scm.

سجلات التخزين

نظرا لأن التعليمات البرمجية للوظيفة والمفاتيح قد تستمر في حساب التخزين، فإن تسجيل النشاط مقابل حساب التخزين هو طريقة جيدة لمراقبة الوصول غير المصرح به. يمكن استخدام سجلات موارد Azure Monitor لتتبع الأحداث مقابل مستوى بيانات التخزين. راجع Monitoring تخزين Azure لمزيد من التفاصيل حول كيفية تكوين وفحص هذه السجلات.

يعرض سجل نشاط Azure Monitor ><أحداث مستوى التحكم، بما في ذلك عملية listKeys. ومع ذلك، يجب عليك أيضا تكوين سجلات الموارد لحساب التخزين لتتبع الاستخدام اللاحق للمفاتيح أو عمليات مستوى البيانات الأخرى المستندة إلى الهوية. يجب أن يكون لديك على الأقل فئة سجل StorageWrite ممكنة لتكون قادرا على تحديد التعديلات على البيانات خارج عمليات الوظائف العادية.

للحد من التأثير المحتمل لأي صلاحيات تخزين واسعة النطاق، فكر في استخدام وجهة غير تخزينية لهذه السجلات، مثل Log Analytics. لمزيد من المعلومات، راجع Monitoring مساحة تخزين Azure Blob.

تحسين أداء التخزين

لتحقيق أقصى قدر من الأداء، استخدم حساب تخزين منفصل لكل تطبيق وظائف. هذا النهج مهم بشكل خاص عندما يكون لديك دوال مفعلة من Durable Functions أو Event Hubs، وكلاهما يولد حجما كبيرا من معاملات التخزين. عندما يتفاعل منطق تطبيقك مع تخزين Azure، إما مباشرة (باستخدام مجموعة تطوير البرمجيات للتخزين) أو من خلال أحد قيود التخزين، يجب عليك استخدام حساب تخزين مخصص. على سبيل المثال، إذا كان لديك دالة مشغلة بواسطة مركز الأحداث تكتب بعض البيانات إلى تخزين كائن ثنائي كبير الحجم، فاستخدم حسابي تخزين: أحدهما لتطبيق الدالة والآخر للكائنات الثنائية كبيرة الحجم التي تخزنها الدالة.

التوجيه المتسق عبر الشبكات الظاهرية

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

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

العمل مع الكائنات الثنائية كبيرة الحجم

السيناريو الرئيسي للدالات هو معالجة ملفات الملفات في حاوية كائن ثنائي كبير الحجم، مثل معالجة الصور أو تحليل المشاعر. لمعرفة المزيد، راجع معالجة تحميلات الملفات.

تشغيل على حاوية كائن ثنائي كبير الحجم

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

مخطط يوضح الخيارات المختلفة لتفعيل دالة عند إضافة أو تحديث العناصر في حاوية مخزن البيانات الثنائية الكبيرة في Azure.

استخدم الجدول التالي لتحديد مشغل الدالة الذي يناسب احتياجاتك بشكل أفضل لمعالجة الكائنات الثنائية كبيرة الحجم المضافة أو المحدثة في حاوية:

Strategy مشغل الكائن الثنائي كبير الحجم (الاستقصاء) مشغل الكائن الثنائي كبير الحجم (مدفوع بالحدث) مشغِّل قائمة الانتظار مشغل Event Grid
Latency مرتفع (حتى 10 دقائق) Low Medium Low
قيود حساب التخزين لا يدعم الحسابات التي تعتمد فقط على blob¹ والحسابات التي تحتوي على مساحة أسماء هرمية (HNS) مفعلة، مثل حسابات Azure Data Lake Storage Gen2 لا يدعم حسابات الإصدار الأول العامة بلا لا يدعم حسابات الإصدار الأول العامة
نوع المشغل تخزين الكائن الثنائي كبير الحجم تخزين الكائن الثنائي كبير الحجم تخزين قائمة الانتظار شبكة الأحداث
إصدار الامتداد Any التخزين v5.x+ Any Any
معالجة الكائنات الثنائية كبيرة الحجم الموجودة Yes No No No
Filters نمط اسم الكائن الثنائي كبير الحجم فلاتر الأحداث n/a فلاتر الأحداث
يتطلب اشتراك الحدث No Yes No Yes
يدعم خطة استهلاك Flex No Yes Yes Yes
يدعم التوسع الرفيع² No Yes Yes Yes
يعمل مع قيود الوصول الوارد Yes No Yes نعم3
Description سلوك المشغل الافتراضي والذي يعتمد على استقصاء الحاوية للتحديثات. لمزيد من المعلومات، راجع الأمثلة في مرجع مشغل تخزين Blob. يستهلك أحداث تخزين كائن ثنائي كبير الحجم من اشتراك حدث. يتطلب قيمة معلمة Source من EventGrid. لمزيد من المعلومات، راجع Tutorial: تفعيل دالات Azure على حاويات blob باستخدام اشتراك أحداث. تُضاف سلسلة اسم كائن ثنائي كبير الحجم يدويًا إلى قائمة انتظار التخزين عند إضافة كائن ثنائي كبير الحجم إلى الحاوية. يقوم مشغل تخزين قائمة الانتظار بتمرير هذه القيمة مباشرة إلى ربط إدخال تخزين Blob على نفس الدالة. يوفر مرونة التشغيل على الأحداث إلى جانب تلك الأحداث التي تأتي من حاوية تخزين. استخدم عندما تحتاج أيضا إلى تشغيل الأحداث غير التخزينية لدالتك. لمزيد من المعلومات، راجع كيفية العمل مع مشغلات وروابط شبكة الأحداث في دالات Azure.
  1. ينطبق قيد الحساب على الكتلة فقط على محفز تخزين Blob القائم على الاستطلاعات. تدعم روابط إدخال وإخراج تخزين Blob حسابات الكائن الثنائي كبير الحجم فقط.
  2. يمكن تعريف النطاق العالي بشكل فضفاض على أنه حاويات تحتوي على أكثر من 100,000 كائن ثنائي كبير الحجم فيها أو حسابات تخزين تحتوي على أكثر من 100 تحديث للكائنات الثنائية كبيرة الحجم في الثانية.
  3. يمكنك التغلب على قيود الوصول الوارد من خلال جعل اشتراك الحدث يسلم الأحداث عبر قناة مشفرة في مساحة IP العامة باستخدام هوية مستخدم معروفة. لمزيد من المعلومات، راجع تسليم الأحداث بأمان باستخدام الهويات المدارة.

تشفير بيانات التخزين

تخزين Azure يشفر جميع البيانات في حساب تخزين في حالة راحة. لمزيد من المعلومات، انظر تخزين Azure التشفير للبيانات في حالة راحة.

بشكل افتراضي، يتم تشفير البيانات باستخدام مفاتيح تديرها Microsoft. لمزيد من التحكم في مفاتيح التشفير، يمكنك توفير مفاتيح يديرها العميل لاستخدامها لتشفير بيانات الملفات والكائنات الثنائية كبيرة الحجم. يجب أن تكون هذه المفاتيح موجودة في Azure Key Vault لكي تتمكن الوظائف من الوصول إلى حساب التخزين. لمعرفة المزيد، راجع تشفير بيانات التطبيق الثابتة باستخدام مفاتيح يديرها العميل.

موقع بيانات الإقامة المُتاحة في المنطقة

عندما يجب أن تبقى كل بيانات العملاء ضمن منطقة واحدة، استخدم حساب تخزين مرتبط بتطبيق الوظائف يحتوي على تكرار داخل المنطقة. استخدم أيضا حساب تخزين احتياطي داخل المنطقة مع Azure Durable Functions.

تخزن المنصة بيانات العملاء الأخرى المدارة من قبل المنصة فقط داخل المنطقة عندما تستضيف في بيئة App Service Environment (ASE) متوازنة التحميل داخليا. لمعرفة المزيد، راجع التكرار في منطقة ASE.

اعتبارات معرف المضيف

اعتبارات معرف المضيف في هذا القسم لا تنطبق على استهلاك المرن. في خطة الاستضافة هذه، يتم إنشاء قيمة معرف المضيف بطريقة تتجنب هذه المشاكل المحتملة.

تستخدم Functions قيمة معرف المضيف لتحديد تطبيق وظيفة معين بشكل فريد في التشويهات المخزنة. بشكل افتراضي، يقوم وقت التشغيل بتوليد هذا المعرف تلقائيا من اسم تطبيق الوظيفة، مع اقتطاع إلى أول 32 حرفا. يستخدم وقت التشغيل هذا المعرف عند تخزين معلومات الارتباط والتتبع لكل تطبيق في حساب التخزين المرتبط. عندما تكون أسماء تطبيقات الدوال أطول من 32 حرفا وتكون أول 32 حرفا متطابقة، يمكن أن يؤدي هذا الاقتطاع إلى تكرار قيم معرف المضيف. عندما يستخدم تطبيقان للوظائف بمعرفات مضيف متطابقة نفس حساب التخزين، يحدث تصادم معرف المضيف لأن البيانات المخزنة لا يمكن ربطها بشكل فريد بتطبيق الوظائف الصحيح.

Note

يمكن أن يحدث نفس نوع تصادم معرف المضيف بين تطبيق وظيفة في خانة إنتاج ونفس تطبيق الوظائف في خانة المرحلة، عندما تستخدم كلتا الفتحتين نفس حساب التخزين.

في الإصدار 4.x من وقت تشغيل الوظائف، يتم تسجيل خطأ ويتوقف المضيف، مما يؤدي إلى فشل كامل. لمزيد من المعلومات، راجع HostID Truncation يمكن أن يسبب تصادمات.

تجنب تضارب معرف المضيف

استخدم الاستراتيجيات التالية لتجنب تصادم معرف المضيف:

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

Important

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

تجاوز معرف المضيف

يمكنك تعيين معرف مضيف صريح لتطبيق الوظائف في إعدادات التطبيق باستخدام هذا الإعداد AzureFunctionsWebHost__hostid . لمزيد من المعلومات، راجع AzureFunctionsWebHost__hostid.

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

إنشاء تطبيق بدون ملفات Azure

توفر خدمة ملفات Azure نظام ملفات مشترك يدعم السيناريوهات عالية النطاق. عندما يعمل تطبيق الوظائف الخاص بك في خطة Elastic Premium أو على Windows في خطة استهلاك، يتم إنشاء مشاركة ملفات Azure افتراضيا في حساب التخزين الخاص بك. يمكن للوظائف استخدام هذه المشاركة لميزات مثل بث السجلات وكموقع محتوى مشترك للتطبيق. يعتمد موقع النشر على تقنية النشر وتكوين التطبيق. على سبيل المثال، التطبيق الذي يستخدم عنوان URL خارجي لحزمة يشغل الحزمة من الرابط المكون بدلا من مشاركة ملفات Azure.

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

Note

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

لتشغيل تطبيقك بدون مشاركة ملفات Azure، يجب أن تستوفي المتطلبات التالية:

يجب عليك أيضا ملاحظة الاعتبارات التالية:

  • لا يمكن لتطبيقك الاعتماد على نظام ملفات مشترك قابل للكتابة.
  • تحرير المدخل غير مدعوم.
  • تجارب بث السجلات في عملاء مثل بوابة Azure تفرض بشكل افتراضي سجلات نظام الملفات. يجب عليك بدلًا من ذلك الاعتماد على سجلات Application Insights.

إذا كانت المتطلبات السابقة تناسب سيناريوك، يمكنك المضي قدما لإنشاء تطبيق وظائف بدون ملفات Azure. أنشئ تطبيقا بدون WEBSITE_CONTENTAZUREFILECONNECTIONSTRING إعدادات التطبيق و WEBSITE_CONTENTSHARE بإحدى الطرق التالية:

  • قوالب Bicep/ARM: قم بإزالة إعدادي التطبيق من قالب ARM أو ملف Bicep ثم نشر التطبيق باستخدام القالب المعدل.
  • بوابة Azure: امسح إضافة اتصال ملفات Azure في تبويب Storage عند إنشاء التطبيق في بوابة Azure.

يستخدم ملفات Azure لتمكين التكبير الديناميكي للوظائف. قد يكون التوسع محدودا عند تشغيل تطبيقك بدون ملفات Azure في خطة Elastic Premium وخطط Consumption التي تعمل على Windows.

Flex Consumption لا يعتمد على مشاركة محتوى ملفات Azure. يستخدم تخزين نشر Blob قابل للتكوين ويدعم اتصالات الهوية المدارة. لمزيد من المعلومات، راجع تكوين إعدادات النشر.

تطبيقات الخطط المخصصة لا تمتلك الاعتماد الافتراضي على ملفات Azure لمشاركة المحتوى الموضح في هذا القسم.

Functions on Azure Container Apps لا تمتلك الاعتماد الافتراضي على ملفات Azure content-share الموصوف في هذا القسم.

إدخال مشاركات الملفات

هذه الوظيفة متاحة فقط عند تشغيلها على لينكس.

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

يدعم Flex Consumption فقط تركيبات ملفات Azure من Server Message Block (SMB).

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

  • واجهة سطر الأوامر Azure (Azure CLI)
  • Azure PowerShell

az webapp config تخزين إضافة حساب

في هذا الأمر، share-name هو اسم ملفات Azure الموجود في الحصة. custom-id يمكن أن تكون أي سلسلة تحدد المشاركة بشكل فريد عند تحميلها على تطبيق الوظائف. أيضًا، mount-path هو المسار الذي يتم من خلاله الوصول إلى المشاركة في تطبيق الوظائف الخاص بك. mount-path يجب أن يكون بالتنسيق /dir-name، ولا يمكن أن يبدأ بـ /home.

لمثال كامل، راجع إنشاء تطبيق وظيفة Python وتركيب ملفات Azure share.

لوظائف على Azure Container Apps، قم بتكوين وحدة تخزين ملفات Azure على تطبيق container. لمزيد من المعلومات، راجع استخدام تركيبات التخزين في Azure Container Apps.

تركيبات التخزين غير مدعومة في خطة Consumption.

Important

التطبيقات التي لا تزال تعمل بنظام v3 نهاية عمر التشغيل على لينكس ضمن خطة استهلاك تتوقف عن العمل بعد 30 سبتمبر 2026. لتجنب تعطيل الخدمة، قم بترحيل تطبيقك إلى وقت التشغيل v4.

سيتم التقاعد في 30 سبتمبر 2028 من خيار استضافة تطبيقات الوظائف على لينكس ضمن خطة الاستهلاك. خطة استهلاك لينكس لا تحصل على ميزات جديدة أو إصدارات لغوية جديدة. التطبيقات التي تعمل على Windows في خطة استهلاك غير متأثرة حاليا. قم بنقل تطبيقاتك إلى خطة الاستهلاك المرن قبل تاريخ التقاعد.