مرجع إعدادات التطبيق لـ Azure Functions

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

توجد عدة طرق يمكنك من خلالها إضافة إعدادات تطبيق الوظائف وتحديثها وحذفها:

تتطلب التغييرات في إعدادات تطبيق الوظائف إعادة تشغيل تطبيق الوظائف.

في هذه المقالة، يتم اقتطاع مثال سلسلة الاتصال القيم لسهولة القراءة.

اعتبارات إعداد التطبيق

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

  • تتطلب التغييرات في إعدادات تطبيق الوظائف إعادة تشغيل تطبيق الوظائف.

  • في تعيين الأسماء، تعتبر التسطير السفلي المزدوج (__) والفواصل المنقطة (:) قيما محجوزة. يتم تفسير التسطير السفلي المزدوج على أنه محددات هرمية على كل من Windows وLinux، ويتم تفسير النقطتين بنفس الطريقة فقط على Linux. على سبيل المثال، سيتم تفسير الإعداد AzureFunctionsWebHost__hostid=somehost_123456 على أنه كائن JSON التالي:

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

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

  • عند تشغيل الوظائف محليا، يتم تحديد إعدادات التطبيق في Values المجموعة في local.settings.json.

  • هناك خيارات تكوين تطبيق الوظائف أخرى في ملف host.json وفي ملف local.settings.json.

  • يمكنك استخدام إعدادات التطبيق لتجاوز قيم إعداد host.json دون الحاجة إلى تغيير الملف host.json نفسه. وهذا مفيد للسيناريوهات حيث تحتاج إلى تكوين أو تعديل إعدادات host.json معينة لبيئة معينة. يتيح لك هذا أيضًا تغيير إعدادات host.json دون الحاجة إلى إعادة نشر المشروع. لمعرفة المزيد، راجع ⁧⁩المقالة المرجعية لـ host.json.

  • توثق هذه المقالة الإعدادات الأكثر صلة بتطبيقات الوظائف. نظرا لتشغيل Azure Functions على App Service، يتم أيضا دعم إعدادات التطبيق الأخرى. لمزيد من المعلومات، راجع متغيرات البيئة وإعدادات التطبيق في Azure App Service.

  • تتطلب بعض السيناريوهات أيضا العمل مع الإعدادات الموثقة في إعدادات موقع App Service.

  • يمكن أن يؤدي تغيير أي إعدادات تطبيق App Service للقراءة فقطإلى وضع تطبيق الوظائف في حالة غير مستجيبة.

  • انتبه عند تحديث إعدادات التطبيق باستخدام واجهات برمجة تطبيقات REST، بما في ذلك قوالب ARM. نظرا لأن واجهات برمجة التطبيقات هذه تحل محل إعدادات التطبيق الموجودة، يجب تضمين كافة الإعدادات الموجودة عند إضافة أو تعديل الإعدادات باستخدام واجهات برمجة تطبيقات REST أو قوالب ARM. عندما يكون ذلك ممكنا، استخدم Azure CLI أو Azure PowerShell للعمل برمجيا مع إعدادات التطبيق. لمزيد من المعلومات، راجع العمل مع إعدادات التطبيق.

APPINSIGHTS_INSTRUMENTATIONKEY

مفتاح أدوات Application Insights. لا تستخدم كل من APPINSIGHTS_INSTRUMENTATIONKEY و APPLICATIONINSIGHTS_CONNECTION_STRING. عندما يكون ذلك ممكنا، استخدم APPLICATIONINSIGHTS_CONNECTION_STRING. عند تشغيل Application Insights في سحابة ذات سيادة، يجب عليك استخدام APPLICATIONINSIGHTS_CONNECTION_STRING. لمزيد من المعلومات، راجع كيفية تكوين المراقبة لـ Azure Functions.

المفتاح عينة القيمة
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

لا تستخدم كل من APPINSIGHTS_INSTRUMENTATIONKEY و APPLICATIONINSIGHTS_CONNECTION_STRING. APPLICATIONINSIGHTS_CONNECTION_STRING يوصى باستخدام.

إشعار

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

APPLICATIONINSIGHTS_CONNECTION_STRING

سلسلة الاتصال لـ Application Insights. لا تستخدم كل من APPINSIGHTS_INSTRUMENTATIONKEY و APPLICATIONINSIGHTS_CONNECTION_STRING. بينما يوصى باستخدام APPLICATIONINSIGHTS_CONNECTION_STRING في جميع الحالات، فإنه مطلوب في الحالات التالية:

  • عندما يتطلب تطبيق الوظائف التخصيصات المضافة المدعومة باستخدام سلسلة الاتصال.
  • عند تشغيل مثيل Application Insights في سحابة ذات سيادة، مما يتطلب نقطة نهاية مخصصة.

لمزيد من المعلومات، راجع سلاسل الاتصال.

المفتاح عينة القيمة
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

هام

وكلاء Azure Functions هي ميزة قديمة للإصدارات من 1.x إلى 3.x من وقت تشغيل Azure Functions. لمزيد من المعلومات حول الدعم القديم في الإصدار 4.x، راجع وكلاء الوظائف.

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

مفتاح قيمة ‏‏الوصف
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true لن يتم إرسال الاستدعاءات التي تتضمن عنوان URL الخلفي الذي يشير إلى وظيفة في تطبيق الوظائف المحلي مباشرة إلى الوظيفة. بدلًا من ذلك، يتم توجيه الطلبات مرة أخرى إلى الواجهة الأمامية HTTP لتطبيق الوظائف.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false يتم إعادة توجيه الاستدعاءات التي تتضمن عنوان URL الخلفي الذي يشير إلى وظيفة في تطبيق الوظائف المحلي مباشرة إلى الوظيفة. false هي القيمة الافتراضية.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

هام

وكلاء Azure Functions هي ميزة قديمة للإصدارات من 1.x إلى 3.x من وقت تشغيل Azure Functions. لمزيد من المعلومات حول الدعم القديم في الإصدار 4.x، راجع وكلاء الوظائف.

يتحكم هذا الإعداد في ما إذا كان يتم فك ترميز الأحرف %2F كشرط مائل في معلمات المسار عند إدراجها في عنوان URL الخلفي.

مفتاح قيمة ‏‏الوصف
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true يتم فك ترميز معلمات التوجيه بشرطة مائلة تم ترميزها.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false يتم تمرير كافة معلمات المسار دون تغيير، وهو السلوك الافتراضي.

على سبيل المثال، ضع في اعتبارك الملف proxies.js لتطبيق الوظائف في myfunction.com المجال.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

عندما AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES يتم تعيين true، يحل URL example.com/api%2ftest إلى example.com/api/test. بشكل افتراضي، يبقى URL دون تغيير كـ example.com/test%2fapi. لمزيد من المعلومات، راجع Functions proxies.

AZURE_FUNCTIONS_ENVIRONMENT

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

قيمة ‏‏الوصف
Production يمثل بيئة إنتاج، مع انخفاض التسجيل وتحسينات الأداء الكامل. هذا هو الإعداد الافتراضي عندما AZURE_FUNCTIONS_ENVIRONMENT لا يتم تعيين أو تعيين إلى قيمة غير معتمدة.
Staging يمثل بيئة التقسيم المرحلي، مثل عند التشغيل في فتحة التقسيم المرحلي.
Development تدعم بيئة التطوير المزيد من التسجيل المطول وتحسينات الأداء المنخفضة الأخرى. يتم تعيين AZURE_FUNCTIONS_ENVIRONMENT Azure Functions Core Tools إلى Development عند التشغيل على الكمبيوتر المحلي. لا يمكن تجاوز هذا الإعداد في ملف local.settings.json.

استخدم هذا الإعداد بدلا من ASPNETCORE_ENVIRONMENT عندما تحتاج إلى تغيير بيئة وقت التشغيل في Azure إلى شيء آخر غير Production. لمزيد من المعلومات، راجع فئة بدء التشغيل المستندة إلى البيئة والأساليب.

هذا الإعداد غير متوفر في الإصدار 1.x من وقت تشغيل الوظائف.

AzureFunctionsJobHost__*

في الإصدار 2.x والإصدارات الأحدث من Functions runtime، يمكن أن تتجاوز إعدادات التطبيق إعدادات host.json في البيئة الحالية. يتم التعبير عن هذه التجاوزات كإعدادات التطبيق المسماة AzureFunctionsJobHost__path__to__setting. لمزيد من المعلومات، يُرجى الرجوع إلى تجاوز قيم host.json.

AzureFunctionsWebHost__hostid

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

يجب أن يفي معرف المضيف بالمتطلبات التالية:

  • يتراوح بين 1 و32 حرفا
  • تحتوي على أحرف صغيرة وأرقام والشرطات فقط
  • لا تبدأ أو تنتهي بشرطة
  • لا تحتوي على شرط متتالية

من الطرق السهلة لإنشاء معرّف استخدام GUID وإزالة الشرطات وجعله صغيراً، مثل تحويل GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 إلى القيمة 1835d7b55c984790815d072cc94c6f71.

المفتاح عينة القيمة
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

لمزيد من المعلومات، راجع اعتبارات معرّف المضيف.

AzureWebJobsDashboard

يتم إهمال هذا الإعداد ويتم دعمه فقط عند التشغيل على الإصدار 1.x من وقت تشغيل Azure Functions.

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

المفتاح عينة القيمة
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobsDisableHomepage

تقوم قيمة true بتعطيل الصفحة المقصودة الافتراضية التي يتم عرضها لعنون URL الجذر لتطبيق الوظائف. القيمة الافتراضية هي false.

المفتاح عينة القيمة
AzureWebJobsDisableHomepage true

عند حذف إعداد التطبيق هذا أو تعيينه إلى false، يتم عرض صفحة مشابهة للمثال التالي كاستجابة لعنوان URL <functionappname>.azurewebsites.net.

الصفحة المنتقل إليها لتطبيق الوظائف

AzureWebJobsDotNetReleaseCompilation

true يعني استخدام وضع "الإصدار" عند التحويل البرمجي للتعليمة البرمجية .NET؛ false يعني استخدام وضع تتبع الأخطاء. القيمة الافتراضية هي true.

المفتاح عينة القيمة
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

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

المفتاح عينة القيمة
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

أضف EnableProxies إلى هذه القائمة لإعادة تمكين الوكلاء على الإصدار 4.x من وقت تشغيل الوظائف أثناء التخطيط للترحيل إلى Azure API Management. لمزيد من المعلومات، راجع إعادة تمكين الوكلاء في Functions v4.x.

AzureWebJobsKubernetesSecretName

يشير إلى مورد Kubernetes Secrets المستخدم لتخزين المفاتيح. مدعوم فقط عند التشغيل في Kubernetes. يتطلب هذا الإعداد تعيين AzureWebJobsSecretStorageType إلى kubernetes. عندما لا يتم تعيين AzureWebJobsKubernetesSecretName، يعد المستودع للقراءة فقط. في هذه الحالة، يجب إنشاء القيم قبل النشر. تُنشئ أدوات Azure Functions الأساسية القيم تلقائياً عند التوزيع إلى Kubernetes.

المفتاح عينة القيمة
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

لمعرفة المزيد، راجع المستودعات السرية.

AzureWebJobsSecretStorageKeyVaultClientId

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

المفتاح عينة القيمة
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

لمعرفة المزيد، راجع المستودعات السرية.

AzureWebJobsSecretStorageKeyVaultClientSecret

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

المفتاح عينة القيمة
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

لمعرفة المزيد، راجع المستودعات السرية.

AzureWebJobsSecretStorageKeyVaultName

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

يجب أن يكون للمخزن نهج وصول يتوافق مع الهوية المُدارة التي يعينها النظام لمورد الاستضافة. يجب أن يمنح نهج الوصول الهوية الأذونات السرية التالية: Get وSet وList وDelete.
عند تشغيل الوظائف محليا، يتم استخدام هوية المطور، ويجب أن تكون الإعدادات في ملف local.settings.json.

المفتاح عينة القيمة
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

لمعرفة المزيد، راجع المستودعات السرية.

AzureWebJobsSecretStorageKeyVaultTenantId

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

المفتاح عينة القيمة
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

عنوان URL لمثال مخزن المفاتيح المستخدم لتخزين المفاتيح. مدعوم في الإصدار 4.x والإصدارات الأحدث من وقت تشغيل الوظائف. هذا هو الإعداد الموصى به لاستخدام مثيل مخزن المفاتيح لتخزين المفاتيح. يتطلب هذا الإعداد تعيين AzureWebJobsSecretStorageType إلى keyvault.

يجب أن تكون القيمة AzureWebJobsSecretStorageKeyVaultUri هي القيمة الكاملة لـ Vault URI المعروضة في علامة التبويب Key Vault overview، بما في ذلك https://.

يجب أن يكون للمخزن نهج وصول يتوافق مع الهوية المُدارة التي يعينها النظام لمورد الاستضافة. يجب أن يمنح نهج الوصول الهوية الأذونات السرية التالية: Get وSet وList وDelete.
عند تشغيل الوظائف محليا، يتم استخدام هوية المطور، ويجب أن تكون الإعدادات في ملف local.settings.json.

المفتاح عينة القيمة
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

لمعرفة المزيد، راجع استخدام مراجع Key Vault لـ Azure Functions.

AzureWebJobsSecretStorageSas

عنوان URL الخاص بـ Blob Storage SAS لحساب التخزين الثاني المستخدم لتخزين المفاتيح. بشكل افتراضي، تستخدم الوظائف الحساب المعين في AzureWebJobsStorage. عند استخدام خيار التخزين السري هذا، تأكد من أن AzureWebJobsSecretStorageType لم يتم تعيينه صراحةً أو أنه مضبوط على blob. لمعرفة المزيد، راجع المستودعات السرية.

المفتاح عينة القيمة
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

تحديد المستودع أو الموفر لاستخدامه لتخزين المفتاح. يتم دائماً تشفير المفاتيح قبل تخزينها باستخدام سر فريد لتطبيق وظيفتك.

مفتاح قيمة ‏‏الوصف
AzureWebJobsSecretStorageType blob يتم تخزين المفاتيح في حاوية تخزين Blob في الحساب المقدم من خلال الإعداد AzureWebJobsStorage. تخزين Blob هو السلوك الافتراضي عندما AzureWebJobsSecretStorageType لا يتم تعيين.
لتحديد حساب تخزين مختلف، استخدم الإعداد AzureWebJobsSecretStorageSas للإشارة إلى SAS URL لحساب التخزين الثاني.
AzureWebJobsSecretStorageType files تستمر المفاتيح في نظام الملفات. هذا هو السلوك الافتراضي ل Functions v1.x.
AzureWebJobsSecretStorageType keyvault يتم تخزين المفاتيح في مثيل مخزن مفاتيح تم تعيينه بواسطة AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType kubernetes مدعوم فقط عند تشغيل وقت تشغيل الوظائف في Kubernetes. عندما لا يتم تعيين AzureWebJobsKubernetesSecretName، يعد المستودع للقراءة فقط. في هذه الحالة، يجب إنشاء القيم قبل النشر. تُنشئ أدوات Azure Functions الأساسية القيم تلقائياً عند التوزيع إلى Kubernetes.

لمعرفة المزيد، راجع المستودعات السرية.

AzureWebJobsStorage

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

المفتاح عينة القيمة
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

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

AzureWebJobsStorage__accountName

عند استخدام اتصال تخزين يستند إلى الهوية، يعين اسم حساب حساب التخزين بدلا من استخدام سلسلة الاتصال في AzureWebJobsStorage. يعد بناء الجملة هذا فريدا من AzureWebJobsStorage نوعه ولا يمكن استخدامه للاتصالات الأخرى المستندة إلى الهوية.

المفتاح عينة القيمة
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

بالنسبة للسحب السيادية أو عند استخدام DNS مخصص، يجب عليك بدلا من ذلك استخدام الإعدادات الخاصة AzureWebJobsStorage__*ServiceUri بالخدمة.

AzureWebJobsStorage__blobServiceUri

عند استخدام اتصال تخزين يستند إلى الهوية، يعين URI لمستوى البيانات لخدمة blob لحساب التخزين.

المفتاح عينة القيمة
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

استخدم هذا الإعداد بدلا من AzureWebJobsStorage__accountName السحب السيادية أو عند استخدام DNS مخصص. لمزيد من المعلومات، راجع الاتصال لاستضافة التخزين بهوية.

AzureWebJobsStorage__queueServiceUri

عند استخدام اتصال تخزين يستند إلى الهوية، يعين URI لمستوى البيانات لخدمة قائمة الانتظار لحساب التخزين.

المفتاح عينة القيمة
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

استخدم هذا الإعداد بدلا من AzureWebJobsStorage__accountName السحب السيادية أو عند استخدام DNS مخصص. لمزيد من المعلومات، راجع الاتصال لاستضافة التخزين بهوية.

AzureWebJobsStorage__tableServiceUri

عند استخدام اتصال تخزين يستند إلى الهوية، يقوم بتعيين URI لمستوى البيانات لخدمة جدول لحساب التخزين.

المفتاح عينة القيمة
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

استخدم هذا الإعداد بدلا من AzureWebJobsStorage__accountName السحب السيادية أو عند استخدام DNS مخصص. لمزيد من المعلومات، راجع الاتصال لاستضافة التخزين بهوية.

AzureWebJobs_TypeScriptPath

المسار إلى المحول البرمجي المستخدم لـ TypeScript. يسمح لك بتجاوز الإعداد الافتراضي إذا كنت بحاجة إلى ذلك.

المفتاح عينة القيمة
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_REGISTRY_SERVER_PASSWORD

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

DOCKER_REGISTRY_SERVER_URL

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

DOCKER_REGISTRY_SERVER_USERNAME

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

DOCKER_SHM_SIZE

يضبط حجم الذاكرة المشتركة (بالبايت) عندما يستخدم عامل Python الذاكرة المشتركة. لمعرفة المزيد، راجع الذاكرة المشتركة.

المفتاح عينة القيمة
DOCKER_SHM_SIZE 268435456

تعيّن القيمة أعلاه حجم ذاكرة مشتركة يبلغ 256 ميغابايت تقريباً.

يتطلب تعيين FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED على 1.

ENABLE_ORYX_BUILD

يشير إلى ما إذا كان يتم استخدام نظام إنشاء Oryx أثناء النشر. ENABLE_ORYX_BUILD يجب تعيين إلى true عند القيام بنشرات البناء عن بعد إلى Linux. لمزيد من المعلومات، راجع Remote build.

المفتاح عينة القيمة
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

يشير إلى ما إذا كنت قادرا على تحرير تطبيق الوظائف في مدخل Microsoft Azure. القيم الصالحة هي readwrite و readonly.

المفتاح عينة القيمة
FUNCTION_APP_EDIT_MODE readonly

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

FUNCTIONS_EXTENSION_VERSION

إصدار Functions runtime الذي يستضيف تطبيق الوظائف. tilde (~) مع الإصدار الرئيسي يعني استخدام أحدث إصدار من هذا الإصدار الرئيسي (على سبيل المثال، ~3). عند توفر إصدارات جديدة لنفس الإصدار الرئيسي، يتم تثبيتها تلقائيا في تطبيق الوظائف. لتثبيت التطبيق بإصدار معين، استخدم رقم الإصدار الكامل (على سبيل المثال، 3.0.12345). القيمة الافتراضية هي ~3. تُثبت قيمة ~1 التطبيق الخاص بك إلى الإصدار 1.x من runtime. لمزيد من المعلومات، راجع نظرة عامة على إصدارات وقت تشغيل Azure Functions. تعني قيمة ~4 أن تطبيقك يعمل على الإصدار 4.x من وقت التشغيل.

المفتاح عينة القيمة
FUNCTIONS_EXTENSION_VERSION ~4

قيم إصدار وقت التشغيل الرئيسية التالية مدعومة:

القيمة‬ هدف وقت التشغيل تعليق
~4 4.x مستحسن
~3 3.x لم يعد مدعوما
~2 2.x لم يعد مدعوما
~1 1.x ينتهي الدعم في 14 سبتمبر 2026

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

يعد إعداد التطبيق هذا طريقة مؤقتة لتطبيقات Node.js لتمكين تغيير فاصل يسهل استكشاف أخطاء نقطة الإدخال وإصلاحها على Node.js v18 أو أقل. يوصى بشدة باستخدام true، خاصة لتطبيقات نموذج البرمجة v4، والتي تستخدم دائما ملفات نقطة الإدخال. يتجاهل السلوك بدون التغيير العاجل (false) أخطاء نقطة الإدخال ولا يسجلها في Application Insights.

بدءا من Node.js v20، لا يكون لإعداد التطبيق أي تأثير ويتم تمكين سلوك التغيير العاجل دائما.

بالنسبة Node.js v18 أو أقل، يمكن استخدام إعداد التطبيق ويعتمد السلوك الافتراضي على ما إذا حدث الخطأ قبل تسجيل وظيفة v4 للنموذج أو بعده:

  • إذا تم طرح الخطأ من قبل (على سبيل المثال إذا كنت تستخدم الطراز v3 أو لم يكن ملف نقطة الإدخال موجودا)، يتطابق السلوك الافتراضي مع false.
  • إذا تم طرح الخطأ بعد (على سبيل المثال، إذا حاولت تسجيل وظائف v4 للنموذج المكرر)، يتطابق السلوك الافتراضي مع true.
مفتاح قيمة ‏‏الوصف
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true حظر أخطاء نقطة الإدخال وتسجيلها في Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false تجاهل أخطاء نقطة الإدخال ولا تسجلها في Application Insights.

FUNCTIONS_V2_COMPATIBILITY_MODE

هام

لم يعد هذا الإعداد مدعوما. تم توفيره في الأصل لتمكين حل بديل قصير الأجل للتطبيقات التي تستهدف وقت تشغيل v2.x لتكون قادرة على التشغيل بدلا من ذلك على وقت تشغيل v3.x بينما كان لا يزال مدعوما. باستثناء التطبيقات القديمة التي تعمل على الإصدار 1.x، يجب تشغيل جميع تطبيقات الوظائف على الإصدار 4.x من وقت تشغيل الوظائف: FUNCTIONS_EXTENSION_VERSION=~4. لمزيد من المعلومات، راجع نظرة عامة على إصدارات وقت تشغيل Azure Functions.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

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

المفتاح عينة القيمة
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_WORKER_PROCESS_COUNT

تحديد الحد الأقصى لعدد عمليات عامل اللغة، بقيمة افتراضية 1. الحد الأقصى للقيمة المسموح به هو 10. يتم توزيع استدعاءات الوظيفة بالتساوي بين عمليات عامل اللغة. يتم إنتاج عمليات عامل اللغة كل 10 ثوان حتى يتم الوصول إلى العدد الذي تم تعيينه بواسطة FUNCTIONS_WORKER_PROCESS_COUNT . استخدام عمليات عامل لغة متعددة ليس هو نفسه التحجيم. ضع في اعتبارك استخدام هذا الإعداد عندما يشتمل حمل عملك على مزيج من الاستدعاءات المرتبطة بـ CPU والمرتبطة بالإدخال/الإخراج. ينطبق هذا الإعداد على جميع أوقات تشغيل اللغة، باستثناء .NET قيد التشغيل قيد المعالجة (FUNCTIONS_WORKER_RUNTIME=dotnet).

المفتاح عينة القيمة
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

اللغة أو مكدس اللغة لوقت تشغيل العامل لتحميله في تطبيق الوظائف. وهذا يتوافق مع اللغة المستخدمة في التطبيق الخاص بك (على سبيل المثال، python). بدءًا من الإصدار 2.x من Azure Functions runtime، يمكن لتطبيق وظائف معين دعم لغة واحدة فقط.

المفتاح عينة القيمة
FUNCTIONS_WORKER_RUNTIME node

القيم الصالحة:

القيمة‬ مكدس اللغة/اللغة
dotnet C# (مكتبة الفئات)
C# (البرنامج النصي)
dotnet-isolated C# (عملية عامل معزولة)
java Java
node جافا سكريبت
TypeScript
powershell بوويرشيل
python Python
custom الاخري

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

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

المفتاح عينة القيمة
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

مع تمكين هذا الإعداد، يمكنك استخدام إعداد DOCKER_SHM_SIZE لتعيين حجم الذاكرة المشتركة. لمعرفة المزيد، راجع الذاكرة المشتركة.

JAVA_OPTS

يستخدم لتخصيص جهاز Java الظاهري (JVM) المستخدم لتشغيل وظائف Java عند التشغيل على خطة Premium أو خطة مخصصة. عند التشغيل على خطة Consumption، استخدم languageWorkers__java__argumentsبدلا من ذلك . لمزيد من المعلومات، راجع تخصيص JVM.

languageWorkers__java__arguments

يستخدم لتخصيص جهاز Java الظاهري (JVM) المستخدم لتشغيل وظائف Java عند التشغيل على خطة Consumption. يزيد هذا الإعداد من أوقات البدء الباردة لوظائف Java التي تعمل في خطة Consumption. بالنسبة لخطة Premium أو Dedicated، استخدم JAVA_OPTSبدلا من ذلك . لمزيد من المعلومات، راجع تخصيص JVM.

MDMaxBackgroundUpgradePeriod

يتحكم في فترة تحديث خلفية التبعيات المُدارة لتطبيقات وظائف PowerShell، بقيمة افتراضية 7.00:00:00 (أسبوعيًا).

تبدأ كل عملية عامل في PowerShell في التحقق من ترقيات الوحدة في معرض PowerShell عند بدء العملية MDMaxBackgroundUpgradePeriod وبعد ذلك. عندما يتوفر إصدار وحدة جديد في معرض PowerShell، يتم تثبيته على نظام الملفات وإتاحته لعمال PowerShell. يتيح تقليل هذه القيمة لتطبيق وظيفتك الحصول على إصدارات أحدث من الوحدة في وقت أقرب، ولكنه يزيد أيضًا من استخدام موارد التطبيق (إدخال/إخراج الشبكة وCPU والتخزين). تؤدي زيادة هذه القيمة إلى تقليل استخدام موارد التطبيق، ولكن يمكن أن تؤخر أيضا تقديم إصدارات وحدة نمطية جديدة إلى تطبيقك.

المفتاح عينة القيمة
MDMaxBackgroundUpgradePeriod 7.00:00:00

لمزيد من المعلومات، راجع إدارة التبعيات.

MDNewSnapshotCheckPeriod

تحديد عدد المرات التي يتحقق فيها كل عامل PowerShell من تثبيت ترقيات التبعيات المدارة. التردد الافتراضي هو 01:00:00 (بالساعة).

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

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

المفتاح عينة القيمة
MDNewSnapshotCheckPeriod 01:00:00

لمزيد من المعلومات، راجع إدارة التبعيات.

MDMinBackgroundUpgradePeriod

الفترة الزمنية بعد إجراء فحص سابق لترقية التبعية المُدارة قبل بدء فحص ترقية آخر، مع الإعداد الافتراضي 1.00:00:00 (يومياً).

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

المفتاح عينة القيمة
MDMinBackgroundUpgradePeriod 1.00:00:00

لمزيد من المعلومات، راجع إدارة التبعيات.

PIP_INDEX_URL

يتيح لك هذا الإعداد تجاوز عنوان URL الأساسي لـ Python Package Index، والذي يكون https://pypi.org/simpleبشكل افتراضي. استخدم هذا الإعداد عندما تحتاج إلى تشغيل بنية بعيدة باستخدام تبعيات مخصصة. يمكن أن تكون هذه التبعيات المخصصة في مستودع فهرس حزمة متوافق مع PEP 503 (واجهة برمجة تطبيقات المستودع البسيطة) أو في دليل محلي يتبع نفس التنسيق.

المفتاح عينة القيمة
PIP_INDEX_URL http://my.custom.package.repo/simple

لمعرفة المزيد، راجع pipوثائق--index-urlواستخدام التبعية المخصصة في مرجع مطور Python.

PIP_EXTRA_INDEX_URL

تشير قيمة هذا الإعداد إلى عنوان URL إضافي للفهرس للحزم المخصصة لتطبيقات Python، لاستخدامها بالإضافة إلى --index-url. استخدم هذا الإعداد عندما تحتاج إلى تشغيل البناء عن بعد باستخدام تبعيات مخصصة موجودة في فهرس حزمة إضافية. يجب أن تتبع نفس القواعد مثل --index-url.

المفتاح عينة القيمة
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

لمعرفة المزيد، راجع pipوثائق--extra-index-urlواستخدام التبعية المخصصة في مرجع مطور Python.

المشروع

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

المفتاح عينة القيمة
المشروع WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

التكوين خاص بتطبيقات وظائف Python. وهو يحدد أولوية ترتيب تحميل الوحدة. تُعيّن هذه القيمة افتراضيًا إلى 0.

مفتاح قيمة ‏‏الوصف
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 تحديد أولويات تحميل مكتبات Python من تبعيات عامل Python الداخلية، وهو السلوك الافتراضي. قد يتم تظليل مكتبات الجهات الخارجية المعرفة في requirements.txt.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 تحديد أولويات تحميل مكتبات Python من حزمة التطبيق الداخلية في requirements.txt. وهذا يمنع المكتبات من التضارب مع مكتبات عامل Python الداخلية.

PYTHON_ENABLE_DEBUG_LOGGING

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

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

PYTHON_ENABLE_WORKER_EXTENSIONS

التكوين خاص بتطبيقات وظائف Python. يسمح تعيين هذا 1 للعامل بالتحميل في ملحقات عامل Python المُعرفة في requirements.txt. فهو يمكن تطبيق الوظائف الخاص بك من الوصول إلى الميزات الجديدة التي توفرها حزم الجهات الخارجية. كما يمكنه تغيير سلوك تحميل الوظيفة والاستدعاء في تطبيقك. تأكد من أن الملحق الذي تختاره جدير بالثقة حيث تتحمل خطر استخدامه. لا تقدم Azure Functions أي ضمانات صريحة لأي ملحقات. لمعرفة كيفية استخدام ملحق، تفضل بزيارة الصفحة اليدوية للملحق أو مستند readme. بشكل افتراضي، يتم تعيين هذه القيمة إلى 0.

مفتاح قيمة ‏‏الوصف
PYTHON_ENABLE_WORKER_EXTENSIONS 0 تعطيل أي ملحق عامل Python.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 السماح لعامل Python بتحميل الملحقات من requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

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

المفتاح عينة القيمة أقصى قيمة
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

هذا الإعداد قيد المعاينة حاليًا.

يتحكم هذا الإعداد في تسجيل الدخول من وحدة تحكم في مقياس Azure Functions. لمزيد من المعلومات، راجع سجلات وحدة التحكم في المقياس.

المفتاح عينة القيمة
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

يتم توفير قيمة هذا المفتاح بالتنسيق <DESTINATION>:<VERBOSITY>، والذي يتم تعريفه كما يلي:

الخاصية ‏‏الوصف
<DESTINATION> الوجهة التي يتم إرسال السجلات إليها. القيم الصالحة هي AppInsights و Blob.
عند استخدام AppInsights، تأكد من تمكين Application Insights في تطبيق وظيفتك.
عند تعيين الوجهة على Blob، يتم إنشاء السجلات في حاوية تخزين البيانات الثنائية الكبيرة المسماة azure-functions-scale-controller في حساب التخزين الافتراضي الذي تم تعيينه في إعداد التطبيق AzureWebJobsStorage.
<VERBOSITY> يحدد مستوى التسجيل. القيم المعتمدة هي None و Warning و Verbose.
عند ضبطه على Verbose، يسجل مراقب المقياس سببًا لكل تغيير في عدد العمال، ومعلومات حول المحفزات التي تدخل في تلك القرارات. تتضمن السجلات المطولة تحذيرات التشغيل والتجزئة المستخدمة بواسطة المشغلات قبل وبعد تشغيل وحدة التحكم في الميزان.

تلميح

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

SCM_DO_BUILD_DURING_DEPLOYMENT

يتحكم في سلوك الإنشاء عن بعد أثناء النشر. عند SCM_DO_BUILD_DURING_DEPLOYMENT تعيين إلى true، يتم إنشاء المشروع عن بعد أثناء النشر.

المفتاح عينة القيمة
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

يتحكم في المهلة، بالثواني، عند الاتصال بسجلات الدفق. القيمة الافتراضية هي 7200 (ساعتان).

المفتاح عينة القيمة
SCM_LOGSTREAM_TIMEOUT 1800

تحدد قيمة العينة أعلاه 1800 مهلة 30 دقيقة. لمزيد من المعلومات، راجع تمكين سجلات تنفيذ الدفق في Azure Functions.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

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

المفتاح عينة القيمة
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

هذا الإعداد مطلوب لتطبيقات خطة Consumption و Elastic Premium التي تعمل على كل من Windows و Linux. إنه ليس مطلوباً لتطبيقات الخطط المخصصة، والتي لا يتم تحجيمها ديناميكياً بواسطة الوظائف.

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

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

WEBSITE_CONTENTOVERVNET

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

المفتاح عينة القيمة
WEBSITE_CONTENTOVERVNET 1

مدعوم في خطط Premium وDedicated (App Service) (قياسية وأعلى). غير مدعوم عند التشغيل على خطة Consumption.

WEBSITE_CONTENTSHARE

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

المفتاح عينة القيمة
WEBSITE_CONTENTSHARE functionapp091999e2

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

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

تنطبق الاعتبارات التالية عند استخدام قالب Azure Resource Manager (ARM) أو ملف Bicep لإنشاء تطبيق دالة أثناء النشر:

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

WEBSITE_DNS_SERVER

تعيين خادم DNS المستخدم من قبل تطبيق عند حل عناوين IP. غالبًا ما يكون هذا الإعداد مطلوبًا عند استخدام وظائف معينة للشبكات، مثل مناطق Azure DNS الخاصة ونقاط النهاية الخاصة.

المفتاح عينة القيمة
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

يتحكم في ما إذا كان ترميز Brotli يُستخدم للضغط بدلًا من ضغط gzip الافتراضي. عند تعيين WEBSITE_ENABLE_BROTLI_ENCODING إلى 1، يتم استخدام ترميز Brotli؛ وإلا سيتم استخدام ترميز gzip.

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

تعطيل التخزين المؤقت عند نشر تطبيقات الوظائف باستخدام قوالب Azure Resource Manager (ARM).

المفتاح عينة القيمة
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

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

هام

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

المفتاح عينة القيمة
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

نظام تشغيل Windows فقط. تعيين إصدار Node.js لاستخدامه عند تشغيل تطبيق الوظائف على Windows. يجب استخدام التيلدا (~) لجعل runtime يستخدم أحدث إصدار متوفر من الإصدار الرئيسي المستهدف. على سبيل المثال، عند التعيين إلى ~18، يتم استخدام أحدث إصدار من Node.js 18. عندما يتم استهداف إصدار رئيسي باستخدام تيلدا، لا يتعين عليك تحديث الإصدار الثانوي يدويًا.

المفتاح عينة القيمة
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

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

المفتاح عينة القيمة
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

أضف WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS بقيمة لكافة 0 الفتحات للتأكد من أن إعدادات التشخيص القديمة لا تحظر عمليات التبديل الخاصة بك. يمكنك أيضا إضافة هذا الإعداد والقيمة إلى فتحة الإنتاج فقط كإعداد فتحة نشر (ملصقة).

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

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

المفتاح عينة القيمة
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

تمكين تطبيق الوظائف من التشغيل من ملف حزمة، والذي يمكن تحميله محليا أو نشره في عنوان URL خارجي.

المفتاح عينة القيمة
WEBSITE_RUN_FROM_PACKAGE 1

القيم الصالحة هي إما عنوان URL الذي يتم حله إلى موقع ملف حزمة نشر خارجي، أو 1. عند التعيين إلى 1، يجب أن تكون الحزمة في d:\home\data\SitePackages المجلد. عند استخدام نشر zip مع WEBSITE_RUN_FROM_PACKAGE تمكين، يتم تحميل الحزمة تلقائيا إلى هذا الموقع. في المعاينة، تم تسمية هذا الإعداد WEBSITE_RUN_FROM_ZIP. لمزيدٍ من المعلومات، راجع تشغيل الوظائف الخاصة بك من ملف حزمة.

عند النشر من عنوان URL لحزمة خارجية، يجب عليك أيضا مزامنة المشغلات يدويا. لمزيد من المعلومات، راجع تشغيل المزامنة.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

تحتوي إعدادات WEBSITE_CONTENTAZUREFILECONNECTIONSTRING WEBSITE_CONTENTSHARE على فحوصات تحقق إضافية للتأكد من إمكانية بدء تشغيل التطبيق بشكل صحيح. فشل إنشاء إعدادات التطبيق عندما لا يمكن لتطبيق الوظائف استدعاء حساب التخزين المتلقي للمعلومات أو Key Vault بشكل صحيح بسبب قيود الشبكة أو عوامل الحد الأخرى. عند تعيين WEBSITE_SKIP_CONTENTSHARE_VALIDATION إلى 1، يتم تخطي فحص التحقق من الصحة؛ وإلا يتم تعيين القيمة افتراضيا إلى 0 ويتم التحقق من الصحة.

المفتاح عينة القيمة
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

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

WEBSITE_SLOT_NAME

قراءة فقط. اسم فتحة التوزيع الحالية. اسم خانة الإنتاج هو Production.

المفتاح عينة القيمة
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

يسمح لك بتعيين المنطقة الزمنية لتطبيق الوظائف.

المفتاح نظام التشغيل عينة القيمة
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

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

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

نظام التشغيل الخطة القيمة‬
Windows الكل عيّن القيمة على اسم المنطقة الزمنية المطلوبة كما هو محدد في السطر الثاني من كل زوج من الأزواج المعطاة بواسطة أمر Windows tzutil.exe /L
Linux متميز
مخصصة
قم بتعيين القيمة على اسم المنطقة الزمنية المطلوبة كما هو موضح في قاعدة بيانات tz.

إشعار

WEBSITE_TIME_ZONE ولا يتم دعمها TZ حاليا عند التشغيل على Linux في خطة الاستهلاك. في هذه الحالة، يمكن إعداد WEBSITE_TIME_ZONE أو TZ إنشاء مشكلات متعلقة ب SSL والتسبب في توقف المقاييس عن العمل لتطبيقك.

على سبيل المثال، يستخدم Eastern Time في الولايات المتحدة (يتم تمثيله بواسطة Eastern Standard Time (Windows) أو America/New_York (Linux)) حالياً UTC-05:00 خلال التوقيت القياسي وUTC-04:00 خلال التوقيت الصيفي. لتشغيل مؤقت يعمل في الساعة 10:00 صباحاً بالتوقيت الشرقي كل يوم، أنشئ إعداد تطبيق لتطبيق وظيفتك باسم WEBSITE_TIME_ZONE، واضبط القيمة على Eastern Standard Time (Windows) أو America/New_York (Linux)، ثم استخدم تعبير NCRONTAB التالي:

"0 0 10 * * *"

عند استخدام WEBSITE_TIME_ZONE، يتم ضبط الوقت وفقاً للتغييرات الزمنية في منطقة زمنية محددة، بما في ذلك التوقيت الصيفي والتغييرات في التوقيت القياسي.

WEBSITE_USE_PLACEHOLDER

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

المفتاح عينة القيمة
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

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

المفتاح عينة القيمة
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

هام

WEBSITE_VNET_ROUTE_ALL هو إعداد تطبيق قديم تم استبداله بإعداد موقع vnetRouteAllEnabled .

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

المفتاح عينة القيمة
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

يشير إلى ما إذا كان /home الدليل مشتركا عبر مثيلات ذات مقياس، بقيمة افتراضية هي true. يجب تعيين هذا إلى false عند نشر تطبيق الوظائف في حاوية. d

إعدادات موقع App Service

يجب الاحتفاظ ببعض التكوينات على مستوى App Service كإعدادات موقع، مثل إصدارات اللغة. تتم إدارة هذه الإعدادات في المدخل، أو باستخدام واجهات برمجة تطبيقات REST، أو باستخدام Azure CLI أو Azure PowerShell. فيما يلي إعدادات الموقع التي قد تكون مطلوبة، اعتمادا على لغة وقت التشغيل ونظام التشغيل والإصدارات:

alwaysOn

في تطبيق الوظائف الذي يعمل في خطة مخصصة (App Service)، يتعطل وقت تشغيل الوظائف بعد بضع دقائق من عدم النشاط، والتي تشير فقط إلى الطلبات إلى مشغلات HTTP لتنبيه وظائفك. للتأكد من تشغيل الوظائف التي لم يتم تشغيلها بواسطة HTTP بشكل صحيح، بما في ذلك مشغل المؤقت، قم بتمكين Always On لتطبيق الوظائف عن طريق تعيين alwaysOn إعداد الموقع إلى قيمة true.

linuxFxVersion

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

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

قيم linuxFxVersion صالحة

يمكنك استخدام أمر Azure CLI التالي لمشاهدة جدول القيم الحالية linuxFxVersion ، بواسطة إصدار وقت تشغيل Functions المدعوم:

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

يتطلب منك الأمر السابق الترقية إلى الإصدار 2.40 من Azure CLI.

الصور المخصصة

عند إنشاء حاوية linux المخصصة الخاصة بك وصيانتها لتطبيق الوظائف الخاص بك، linuxFxVersion تكون القيمة بدلا من ذلك بالتنسيق DOCKER|<IMAGE_URI>، كما في المثال التالي:

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

يشير هذا إلى مصدر التسجيل للحاوية المنشورة. لمزيد من المعلومات، راجع العمل مع الحاويات وAzure Functions.

هام

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

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

netFrameworkVersion

تعيين الإصدار المحدد من .NET لوظائف C#. لمزيد من المعلومات، راجع تحديث تطبيق الوظائف في Azure.

powerShellVersion

تعيين الإصدار المحدد من PowerShell الذي تعمل عليه وظائفك. لمزيد من المعلومات، راجع تغيير إصدار PowerShell.

عند التشغيل محليا، يمكنك بدلا من ذلك استخدام FUNCTIONS_WORKER_RUNTIME_VERSION الإعداد في ملف local.settings.json.

vnetrouteallend

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

يحل إعداد الموقع هذا محل إعداد WEBSITE_VNET_ROUTE_ALL القديم.

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

تعرف على كيفية تحديث إعدادات التطبيق

راجع إعدادات التكوين في ملف host.json

راجع إعدادات التطبيق الأخرى لتطبيقات App Service