اعتبارات التخزين لـ Azure Functions

تتطلب Azure Functions حساب Azure Storage عند إنشاء مثيل تطبيق الوظائف. يمكن استخدام خدمات التخزين التالية بواسطة تطبيق الوظائف:

خدمة التخزين استخدام الوظائف
تخزين Azure Blob الاحتفاظ بحالة الروابط والمفاتيحالوظيفية 1.
يستخدم افتراضيا لمراكز المهام في Durable Functions.
يمكن استخدامها لتخزين التعليمات البرمجية لتطبيق الوظائف للإنشاء عن بعد لاستهلاك Linux أو كجزء من عمليات نشر عنوان URL للحزمة الخارجية.
ملفاتAzure 2 مشاركة الملفات المستخدمة لتخزين وتشغيل التعليمة البرمجية لتطبيق الوظائف في خطة Consumption وخطة Premium.
مخزن Azure Queue يستخدم افتراضيا لمراكز المهام في Durable Functions. يستخدم لمعالجة الفشل وإعادة المحاولة في مشغلات Azure Functions معينة. يستخدم لتعقب الكائنات بواسطة مشغل تخزين Blob.
تخزين Azure Table يستخدم افتراضيا لمراكز المهام في Durable Functions.

1 تخزين Blob هو المخزن الافتراضي للمفاتيح الوظيفية، ولكن يمكنك تكوين مخزن بديل.

2 يتم إعداد Azure Files بشكل افتراضي، ولكن يمكنك إنشاء تطبيق بدون Azure Files في ظل ظروف معينة.

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

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

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

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

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

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

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

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

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

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

  • لا يمكنك استخدام حسابات التخزين الآمنة مع تطبيقات الوظائف المستضافة في خطة الاستهلاك.

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

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

يمكنك إنشاء تطبيقات الوظائف في خطة Elastic Premium أو Dedicated (App Service) باستخدام أتمتة التوزيع. ومع ذلك، يجب تضمين تكوينات شبكة اتصال معينة في قالب ARM أو ملف Bicep. عندما لا تقوم بتضمين هذه الإعدادات والموارد، قد يفشل النشر التلقائي في التحقق من الصحة. لمزيد من المعلومات، راجع عمليات النشر الآمنة.

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

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

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

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

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

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

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

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

إشعار

يجب تحديث سلسلة الاتصال حساب تخزين عند إعادة إنشاء مفاتيح التخزين. اقرأ المزيد عن إدارة مفتاح التخزين هنا.

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

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

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

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

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

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

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

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

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

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

لتحقيق أقصى قدر من الأداء، استخدم حساب تخزين منفصل لكل تطبيق وظائف. هذا مهم بشكل خاص عندما يكون لديك وظائف دائمة أو وظائف مشغلة لمركز الأحداث، وكلاهما يولد حجماً كبيراً من عمليات التخزين. عندما يتفاعل منطق التطبيق الخاص بك مع Azure Storage، إما مباشرةً (باستخدام SDK للتخزين) أو من خلال أحد روابط التخزين، يجب عليك استخدام حساب تخزين مخصص. على سبيل المثال، إذا كانت لديك وظيفة مشغّل Event Hub تكتب بعض البيانات إلى تخزين الكائن الثنائي كبير الحجم، فاستخدم حسابي تخزين - أحدهما لتطبيق الدالة والآخر للكائنات الثنائية كبيرة الحجم التي تُخزنها الدالة.

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

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

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

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

الاعتبار تخزين Blob (الاستقصاء) تخزين Blob (مستند إلى الحدث) تخزين قائمة الانتظار Event Grid
زمن الانتقال مرتفع (حتى 10 دقائق) منخفض متوسط منخفض
حد حساب التخزين حسابات Blob فقط غير مدعومة¹ الإصدار 1 للغرض العام غير مدعوم لا شيء الإصدار 1 للغرض العام غير مدعوم
إصدار الملحق أي التخزين v5.x+ أي أي
معالجة الكائنات الثنائية كبيرة الحجم الموجودة ‏‏نعم‬ لا لا لا
عوامل التصفية نمط اسم الكائن الثنائي كبير الحجم عوامل تصفية الأحداث غير متوفر عوامل تصفية الأحداث
يتطلب اشتراك الحدث لا نعم لا ‏‏نعم‬
يدعم النطاق الواسع² لا نعم نعم ‏‏نعم‬
‏‏الوصف سلوك المشغل الافتراضي والذي يعتمد على استقصاء الحاوية للتحديثات. لمزيد من المعلومات، راجع الأمثلة في مرجع مشغل تخزين Blob. يستهلك أحداث تخزين كائن ثنائي كبير الحجم من اشتراك حدث. يتطلب قيمة معلمة Source من EventGrid. لمزيد من المعلومات، راجع البرنامج التعليمي: تشغيل Azure Functions على حاويات الكائن الثنائي كبير الحجم باستخدام اشتراك حدث. تُضاف سلسلة اسم كائن ثنائي كبير الحجم يدويًا إلى قائمة انتظار التخزين عند إضافة كائن ثنائي كبير الحجم إلى الحاوية. يتم تمرير هذه القيمة مباشرة بواسطة مشغل تخزين قائمة الانتظار إلى ربط إدخال تخزين Blob على نفس الدالة. يوفر مرونة التشغيل على الأحداث بالإضافة إلى الأحداث القادمة من حاوية التخزين. استخدم عندما تحتاج أيضا إلى تشغيل الأحداث غير التخزينية لدالتك. لمزيد من المعلومات، راجع كيف يمكن العمل مع مشغلات "شبكة الأحداث" والروابط في Azure Functions.

1 تدعم روابط الإدخال والإخراج لتخزين Blob حسابات blob فقط.
2 يمكن تعريف النطاق العالي بشكل فضفاض على أنه حاويات تحتوي على أكثر من 100,000 كائن ثنائي كبير الحجم فيها أو حسابات تخزين تحتوي على أكثر من 100 تحديث للكائنات الثنائية كبيرة الحجم في الثانية.

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

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

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

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

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

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

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

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

إشعار

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

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

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

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

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

هام

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

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

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

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

نظام مجموعة Azure Arc المُمكّن

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

غير مطلوب قد يتطلب التخزين
Azure Cosmos DB
HTTP
Kafka
RabbitMQ
Service Bus
Azure SQL
Blob storage
Event Grid
مراكز الأحداث
مركز IoT
تخزين قائمة الانتظار
SendGrid
SignalR
Table storage
Timer
Twilio

لإنشاء تطبيق دالة على مجموعة Kubernetes الممكنة في Azure Arc بدون تخزين، يجب استخدام أمر Azure CLI az functionapp create. يجب أن يتضمن إصدار Azure CLI الإصدار 0.1.7 أو إصدار أحدث من ملحق appservice-kube. استخدم أمر az --version للتحقق من تثبيت الملحق وهو الإصدار الصحيح.

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

إنشاء تطبيق بدون Azure Files

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

عندما لا يتم استخدام Azure Files، يجب عليك تلبية المتطلبات التالية:

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

إذا تم حساب ما سبق بشكل صحيح، يمكنك إنشاء التطبيق بدون Azure Files. إنشاء تطبيق الوظائف دون تحديد إعدادات التطبيق WEBSITE_CONTENTAZUREFILECONNECTIONSTRING وWEBSITE_CONTENTSHARE. يمكنك تجنب هذه الإعدادات عن طريق إنشاء قالب ARM للتوزيع القياسي، وإزالة الإعدادين، ثم توزيع القالب.

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

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

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

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

az webapp config storage-account add

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

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

حاليًا، يتم دعم storage-type لـ AzureFiles فقط. يمكنك إدخال خمس مشاركات فقط إلى تطبيق وظائف معين. يمكن أن يؤدي تحميل مشاركة ملف إلى زيادة وقت البدء البارد بمقدار 200-300 مللي ثانية على الأقل، أو أكثر عندما يكون حساب التخزين في منطقة مختلفة.

تتوفر المشاركة المُدخلة في التعليمة البرمجية للوظيفة الخاص بك في mount-path المحدد. على سبيل المثال، عندما mount-path يكون/path/to/mount، يمكنك الوصول إلى الدليل الهدف بواسطة واجهات برمجة التطبيقات لنظام الملفات، كما في مثال Python التالي:

import os
...

files_in_share = os.listdir("/path/to/mount")

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

تعرف على المزيد حول خيارات استضافة Azure Functions.