مرجع host.json لإصدار Azure Functions 2.x والإصدارات الأحدث
يحتوي ملف بيانات التعريف host.json على خيارات التكوين التي تؤثر على جميع الوظائف في مثيل تطبيق الوظيفة. تسرد هذه المقالة الإعدادات المتوفرة بدءاً من الإصدار 2.x من وقت تشغيل Azure Functions.
إشعار
تنطبق هذه المقالة على Azure Functions 2.x والإصدارات الأحدث. للحصول على مرجع لـ host.json في دالات 1.x، راجع مرجع host.json لوظائفAzure 1.x.
تتم إدارة خيارات تكوين تطبيقات الوظائف الأخرى بناءً على مكان تشغيل تطبيق الوظيفة:
- تم النشر في Azure: في إعدادات التطبيق
- على الكمبيوتر المحلي: في ملف local.settings.json.
يتم تطبيق التكوينات في host.json المتعلقة بالروابط بالتساوي على كل وظيفة في تطبيق الوظيفة.
يمكنك أيضاً تجاوز أو تطبيق الإعدادات لكل بيئة باستخدام إعدادات التطبيق.
نموذج ملف host.json
يحتوي نموذج ملف host.json للإصدار 2.x+ على جميع الخيارات الممكنة المحددة (باستثناء الاستخدام الداخلي لأي منها فقط).
{
"version": "2.0",
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
},
"extensions": {
"blobs": {},
"cosmosDb": {},
"durableTask": {},
"eventHubs": {},
"http": {},
"queues": {},
"sendGrid": {},
"serviceBus": {}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 20,
"evaluationInterval": "01:00:00",
"initialSamplingPercentage": 100.0,
"samplingPercentageIncreaseTimeout" : "00:00:01",
"samplingPercentageDecreaseTimeout" : "00:00:01",
"minSamplingPercentage": 0.1,
"maxSamplingPercentage": 100.0,
"movingAverageRatio": 1.0,
"excludedTypes" : "Dependency;Event",
"includedTypes" : "PageView;Trace"
},
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
},
"enableLiveMetrics": true,
"enableDependencyTracking": true,
"enablePerformanceCountersCollection": true,
"httpAutoCollectionOptions": {
"enableHttpTriggerExtendedInfoCollection": true,
"enableW3CDistributedTracing": true,
"enableResponseHeaderInjection": true
},
"snapshotConfiguration": {
"agentEndpoint": null,
"captureSnapshotMemoryWeight": 0.5,
"failedRequestLimit": 3,
"handleUntrackedExceptions": true,
"isEnabled": true,
"isEnabledInDeveloperMode": false,
"isEnabledWhenProfiling": true,
"isExceptionSnappointsEnabled": false,
"isLowPrioritySnapshotUploader": true,
"maximumCollectionPlanSize": 50,
"maximumSnapshotsRequired": 3,
"problemCounterResetInterval": "24:00:00",
"provideAnonymousTelemetry": true,
"reconnectInterval": "00:15:00",
"shadowCopyFolder": null,
"shareUploaderProcess": true,
"snapshotInLowPriorityThread": true,
"snapshotsPerDayLimit": 30,
"snapshotsPerTenMinutesLimit": 1,
"tempFolder": null,
"thresholdForSnapshotting": 1,
"uploaderProxy": null
}
}
},
"managedDependency": {
"enabled": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"telemetryMode": "OpenTelemetry",
"watchDirectories": [ "Shared", "Test" ],
"watchFiles": [ "myFile.txt" ]
}
تشرح الأقسام التالية من هذه المقالة كل خاصية من المستوى الأعلى. جميعها اختيارية ما لم يذكر خلاف ذلك.
مجمع
يحدد عدد استدعاءات الوظائف التي يتم تجميعها عند حساب قياسات Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
الخاصية | Default | الوصف |
---|---|---|
batchSize | 1000 | أقصى عدد من الطلبات للتجميع. |
flushTimeout | 00:00:30 | أقصى فترة زمنية للتجميع. |
يتم تجميع استدعاءات الوظائف عند الوصول إلى أول حدين.
applicationInsights
هذا الإعداد تابع للتسجيل.
يتحكم في خيارات Application Insights، بما في ذلك خيارات أخذ العينات.
للحصول على بنية JSON الكاملة، اطلع على المثال السابق لملف host.json.
إشعار
قد يؤدي أخذ عينات السجل إلى عدم ظهور بعض عمليات التنفيذ في جزء مراقبة Application Insights. لتجنب أخذ عينات السجل، أضف excludedTypes: "Request"
إلى القيمة samplingSettings
.
الخاصية | Default | الوصف |
---|---|---|
samplingSettings | غير متوفر | اطلع على applicationInsights.samplingSettings. |
dependencyTrackingOptions | غير متوفر | راجع applicationInsights.dependencyTrackingOptions. |
enableLiveMetrics | صحيح | تمكين مجموعة المقاييس المباشرة. |
enableDependencyTracking | صحيح | تمكين تعقب التبعية. |
enablePerformanceCountersCollection | صحيح | تمكين مجموعة عدادات أداء Kudu. |
liveMetricsInitializationDelay | 00:00:15 | للاستخدام الداخلي فقط. |
httpAutoCollectionOptions | غير متوفر | اطلع على applicationInsights.httpAutoCollectionOptions. |
snapshotConfiguration | غير متوفر | اطلع على applicationInsights.snapshotConfiguration. |
applicationInsights.samplingSettings
لمزيد من المعلومات حول هذه الإعدادات، اطلع على أخذ العينات في Application Insights.
الخاصية | Default | الوصف |
---|---|---|
isEnabled | صحيح | تمكين أو تعطيل أخذ العينات. |
maxTelemetryItemsPerSecond | 20 | العدد المستهدف لعناصر التتبع التي يتم تسجيلها في الثانية على كل مضيف خادم. إذا كان تطبيقك يعمل على العديد من الأجهزة المضيفة، فقم بتقليل هذه القيمة لتظل ضمن المعدل الإجمالي المستهدف لنقل البيانات. |
evaluationInterval | 01:00:00 | الفاصل الزمني الذي يتم عنده إعادة تقييم المعدل الحالي لبيانات تتبع الاستخدام. يتم إجراء التقييم كمتوسط متغير. وقد ترغب في تقصير هذا الفاصل الزمني إذا كانت بيانات تتبع الاستخدام عرضة لاندفاعات مفاجئة. |
initialSamplingPercentage | 100.0 | النسبة المئوية الأولية لأخذ العينات المطبقة في بداية عملية أخذ العينات لتغيير النسبة ديناميكياً. لا تقلل من القيمة أثناء تصحيح الأخطاء. |
samplingPercentageIncreaseTimeout | 00:00:01 | عندما تتغير قيمة النسبة المئوية لأخذ العينات، تحدد هذه الخاصية المدة التي يُسمح فيها بعد ذلك لتطبيق Application Insights برفع النسبة المئوية لأخذ العينات مرة أخرى لالتقاط المزيد من البيانات. |
samplingPercentageDecreaseTimeout | 00:00:01 | عندما تتغير قيمة النسبة المئوية لأخذ العينات، تحدد هذه الخاصية المدة التي يُسمح فيها لتطبيق Application Insights بعد ذلك بخفض نسبة العينات مرة أخرى لالتقاط بيانات أقل. |
minSamplingPercentage | 0.1 | نظراً إلى اختلاف نسبة أخذ العينات، تحدد هذه الخاصية الحد الأدنى المسموح به لنسبة أخذ العينات. |
maxSamplingPercentage | 100.0 | نظراً إلى اختلاف نسبة أخذ العينات، تحدد هذه الخاصية الحد الأقصى المسموح به لنسبة أخذ العينات. |
movingAverageRatio | 1.0 | في حساب المتوسط المتغير، يخصص الوزن لأحدث قيمة. استخدم قيمة تساوي أو أقل من 1. القيم الأصغر تجعل الخوارزمية أقل تفاعلاً مع التغييرات المفاجئة. |
excludedTypes | قيمة فارغة | قائمة محددة بفاصلة منقوطة للأنواع التي لا تريد أخذ عينات منها. الأنواع التي تم التعرف عليها هي: Dependency وEvent وException وPageView وRequest وTrace . يتم إرسال جميع مثيلات الأنواع المحددة؛ يتم أخذ عينات الأنواع التي لم يتم تحديدها. |
includedTypes | قيمة فارغة | قائمة محددة بفاصلة منقوطة للأنواع التي تريد أخذ عينات منها؛ قائمة فارغة تشير إلى جميع الأنواع. النوع المدرج في excludedTypes أنواع التجاوز المدرجة هنا. الأنواع التي تم التعرف عليها هي: Dependency وEvent وException وPageView وRequest وTrace . يتم أخذ عينات مثيلات الأنواع المحددة؛ يتم إرسال الأنواع غير المحددة أو المضمنة بدون أخذ العينات. |
applicationInsights.httpAutoCollectionOptions
الخاصية | Default | الوصف |
---|---|---|
enableHttpTriggerExtendedInfoCollection | صحيح | تمكين أو تعطيل معلومات طلب HTTP الموسعة لمشغلات HTTP: عناوين ارتباط الطلبات الواردة، ودعم مفاتيح الأجهزة المتعددة، وأسلوب HTTP، والمسار، والاستجابة. |
enableW3CDistributedTracing | صحيح | تمكين أو تعطيل دعم بروتوكول التتبع الموزع W3C (وتشغيل مخطط الارتباط القديم). يتم التمكين افتراضياً إذا كان enableHttpTriggerExtendedInfoCollection صواب. إذا كان enableHttpTriggerExtendedInfoCollection خاطئاً، فإن هذه العلامة تنطبق على الطلبات الصادرة فقط، وليس الطلبات الواردة. |
enableResponseHeaderInjection | صحيح | تمكين أو تعطيل حقن عناوين الارتباط متعدد المكونات في الاستجابات. يسمح تمكين الحقن لـ Application Insights بإنشاء خريطة تطبيق عند استخدام العديد من مفاتيح الأجهزة. يتم التمكين افتراضياً إذا كان enableHttpTriggerExtendedInfoCollection صواب. لا ينطبق هذا الإعداد إذا كان enableHttpTriggerExtendedInfoCollection خاطئاً. |
applicationInsights.dependencyTrackingOptions
الخاصية | Default | الوصف |
---|---|---|
تمكينSqlCommandTextInstrumentation | true | تمكين مجموعة النص الكامل من استعلامات SQL، والتي يتم تعطيلها بشكل افتراضي. لمزيد من المعلومات حول جمع نص استعلام SQL، راجع تعقب SQL المتقدم للحصول على استعلام SQL الكامل. |
applicationInsights.snapshotConfiguration
لمزيد من المعلومات حول اللقطات، اطلع على تصحيح أخطاء لقطات الاستثناءات في تطبيقات .NET واستكشاف المشكلات وإصلاحها من خلال تمكين Application Insights Snapshot Debugger أو عرض اللقطات.
الخاصية | Default | الوصف |
---|---|---|
agentEndpoint | قيمة فارغة | نقطة النهاية المستخدمة للاتصال بخدمة Application Insights Snapshot Debugger. إذا كانت القيمة خالية، فسيتم استخدام نقطة نهاية افتراضية. |
captureSnapshotMemoryWeight | 0.5 | الوزن المعطى لحجم ذاكرة العملية الحالية عند التحقق مما إذا كانت هناك ذاكرة كافية لأخذ لقطة أم لا. القيمة المتوقعة أكبر من 0 كسر صحيح (0 <CaptureSnapshotMemoryWeight <1). |
failedRequestLimit | 3 | الحد الأقصى لعدد الطلبات الفاشلة لطلب لقطات قبل تعطيل معالج التتبع. |
handleUntrackedExceptions | صحيح | تمكين أو تعطيل تعقب الاستثناءات التي لا يتم تعقبها بواسطة تتبع Application Insights. |
isEnabled | صحيح | تمكين مجموعة اللقطات أو تعطيلها |
isEnabledInDeveloperMode | true | تمكين أو تعطيل مجموعة اللقطات ممكنة في وضع المطور. |
isEnabledWhenProfiling | صحيح | تمكين أو تعطيل إنشاء اللقطة حتى إذا كان Application Insights Profiler يقوم بتجميع جلسة تشكيل جانبي مفصلة. |
isExceptionSnappointsEnabled | true | تمكين تصفية الاستثناءات أو تعطيلها. |
isLowPrioritySnapshotUploader | صحيح | تحديد ما إذا كان يتم تشغيل عملية SnapshotUploader عند أولوية أقل من المعتاد. |
maximumCollectionPlanSize | 50 | الحد الأقصى لعدد المشاكل التي يمكننا تعقبها في أي وقت في نطاق من واحد إلى 9999. |
maximumSnapshotsRequired | 3 | الحد الأقصى لعدد اللقطات التي تم تجميعها لمشكلة واحدة، في نطاق من واحد إلى 999. قد يُنظر إلى المشكلة على أنها عبارة اعتراضية فردي في تطبيقك. بمجرد وصول عدد اللقطات التي تم جمعها لمشكلة ما إلى هذه القيمة، لن يتم جمع المزيد من اللقطات لهذه المشكلة حتى تتم إعادة تعيين عدادات المشكلة (اطلع على problemCounterResetInterval ) والوصول إلى الحد thresholdForSnapshotting مرة أخرى. |
problemCounterResetInterval | 24:00:00 | عدد المرات التي يتم فيها إعادة تعيين عدادات المشكلة في نطاق من دقيقة واحدة إلى سبعة أيام. عند الوصول إلى هذا الفاصل الزمني، تتم إعادة تعيين جميع أعداد المشكلات إلى الصفر. تظل المشكلات الحالية التي وصلت بالفعل إلى حد إجراء اللقطات، ولكنها لم تنشئ عدد اللقطات في maximumSnapshotsRequired ، نشطة. |
provideAnonymousTelemetry | صحيح | تحديد ما إذا كان سيتم إرسال الاستخدام المجهول وتتبع الأخطاء إلى Microsoft. يمكن استخدام هذا التتبع إذا اتصلت بـ Microsoft للمساعدة في استكشاف مشكلات Snapshot Debugger وإصلاحه. كما أنها تستخدم لمراقبة أنماط الاستخدام. |
reconnectInterval | 00:15:00 | عدد المرات التي نعيد الاتصال بنقطة نهاية برنامج Snapshot Debugger. النطاق المسموح به هو من دقيقة واحدة إلى يوم واحد. |
shadowCopyFolder | قيمة فارغة | تحديد المجلد الذي سيتم استخدامه لنسخ البرامج الثنائية تطابقياً. في حالة عدم التعيين، تتم تجربة المجلدات المحددة بواسطة متغيرات البيئة التالية بالترتيب: Fabric_Folder_App_Temp، LOCALAPPDATA، APPDATA، TEMP. |
shareUploaderProcess | صحيح | إذا كان صواب، فلن يقوم سوى مثيل واحد من SnapshotUploader بجمع وتحميل اللقطات لتطبيقات متعددة تشترك في InstrumentationKey. إذا تم التعيين على خاطئ، فسيكون SnapshotUploader فريداً لكل مجموعة (ProcessName، InstrumentationKey). |
snapshotInLowPriorityThread | صحيح | تحديد ما إذا كان سيتم معالجة اللقطات في سلسلة ذات أولوية منخفضة للإدخال والإخراج أم لا. يعد إنشاء لقطة عملية سريعة، ولكن من أجل تحميل اللقطة إلى خدمة Snapshot Debugger، يجب أولاً كتابتها على القرص كـ minidump. ويحدث ذلك في عملية SnapshotUploader. يستخدم تعيين هذه القيمة على قيمة صواب إدخال وإخراج ذات أولوية منخفضة لكتابة minidump، والتي لن تتنافس مع تطبيقك للحصول على الموارد. يؤدي تعيين هذه القيمة إلى خاطئة إلى تسريع إنشاء minidump على حساب إبطاء تطبيقك. |
snapshotsPerDayLimit | 30 | الحد الأقصى لعدد اللقطات المسموح بها في يوم واحد (24 ساعة). يتم فرض هذا الحد أيضاً على جانب خدمة Application Insights. يقتصر معدل التحميلات على 50 يومياً لكل تطبيق (أي لكل مفتاح جهاز). تساعد هذه القيمة على منع إنشاء لقطات إضافية سيتم رفضها في النهاية أثناء التحميل. تؤدي القيمة الصفرية إلى إزالة الحد بالكامل، وهو الأمر غير المستحسن. |
snapshotsPerTenMinutesLimit | 1 | الحد الأقصى لعدد اللقطات المسموح بها في 10 دقائق. على الرغم من عدم وجود حد أعلى لهذه القيمة، احذر من زيادتها على أحمال عمل الإنتاج لأنها قد تؤثر على أداء التطبيق الخاص بك. يعد إنشاء لقطة أمراً سريعاً، ولكن إنشاء minidump من اللقطة وتحميله إلى خدمة Snapshot Debugger هي عملية أبطأ بكثير من شأنها أن تتنافس مع تطبيقك للحصول على الموارد (كل من وحدة المعالجة المركزية والإدخال/الإخراج). |
tempFolder | قيمة فارغة | تحديد المجلد لكتابة ملفات سجل minidump وuploader. إذا لم يتم التعيين، فسيتم استخدام %TEMP%\Dumps. |
thresholdForSnapshotting | 1 | كم مرة يحتاج Application Insights إلى رؤية استثناء قبل أن يطلب لقطات. |
uploaderProxy | قيمة فارغة | تجاوز الخادم الوكيل المستخدم في عملية Snapshot Uploader. قد تحتاج إلى استخدام هذا الإعداد إذا كان تطبيقك يتصل بالإنترنت عبر خادم وكيل. يعمل Snapshot Collector داخل عملية التطبيق وسيستخدم نفس إعدادات الوكيل. ولكن يتم تشغيل Snapshot Uploader كعملية منفصلة وقد تحتاج إلى تكوين الخادم الوكيل يدوياً. إذا كانت هذه القيمة فارغة، فسيحاول Snapshot Collector الكشف التلقائي عن عنوان الوكيل عن طريق فحص System.Net.WebRequest.DefaultWebProxy القيمة وتمريرها إلى Snapshot Uploader. إذا لم تكن هذه القيمة خالية، فلن يتم استخدام الاكتشاف التلقائي وسيتم استخدام الخادم الوكيل المحدد هنا في Snapshot Uploader. |
blobs
يمكن العثور على إعدادات التكوين في مشغلات الكائنات الثنائية كبيرة الحجم للتخزين وعمليات الربط.
console
هذا الإعداد تابع للتسجيل. يتحكم في تسجيل وحدة التحكم عندما لا يكون في وضع تصحيح الأخطاء.
{
"logging": {
...
"console": {
"isEnabled": false,
"DisableColors": true
},
...
}
}
الخاصية | Default | الوصف |
---|---|---|
DisableColors | true | منع تنسيق السجل في سجلات الحاوية على Linux. اضبط على true إذا كنت ترى أحرف تحكم ANSI غير مرغوب فيها في سجلات الحاوية عند التشغيل على Linux. |
isEnabled | true | تمكين أو تعطيل تسجيل وحدة التحكم. |
Azure Cosmos DB
يمكن العثور على إعدادات التكوين في مشغلات وروابط Azure Cosmos DB.
customHandler
إعدادات التكوين لمعالج مخصص. لمزيد من المعلومات، اطلع على معالجات Azure Functions المخصصة.
"customHandler": {
"description": {
"defaultExecutablePath": "server",
"workingDirectory": "handler",
"arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
},
"enableForwardingHttpRequest": false
}
الخاصية | Default | الوصف |
---|---|---|
defaultExecutablePath | غير متوفر | الملف التنفيذي لبدء عملية معالج مخصص. إنه إعداد مطلوب عند استخدام معالجات مخصصة وقيمته نسبة إلى جذر تطبيق الوظائف. |
عمل إخراجي | جذر تطبيق الوظيفة | دليل العمل لبدء عملية المعالج المخصص. إنه إعداد اختياري وقيمته نسبة إلى جذر تطبيق الوظائف. |
الحجج | غير متوفر | صفيف من وسيطات سطر الأوامر لتمريرها إلى عملية المعالج المخصص. |
enableForwardingHttpRequest | true | في حالة التعيين، تتم إعادة توجيه جميع الوظائف التي تتكون من مشغل HTTP ومخرجات HTTP فقط إلى طلب HTTP الأصلي بدلاً من المعالج المخصص بيانات الطلب الأساسية. |
durableTask
يمكن العثور على إعداد التكوين في روابط للوظائف الدائمة.
التزامن
تمكين التزامن الديناميكي لروابط معينة في تطبيق الوظائف. لمزيد من المعلومات، راجع التزامن الديناميكي.
{
"concurrency": {
"dynamicConcurrencyEnabled": true,
"snapshotPersistenceEnabled": true
}
}
الخاصية | Default | الوصف |
---|---|---|
DynamicConcurrencyEnabled | true | تمكين سلوكيات التزامن الديناميكية لجميع المشغلات التي تدعمها هذه الميزة، والتي تكون متوقفة عن التشغيل بشكل افتراضي. |
snapshotPersistenceEnabled | صحيح | تستمر قيم التزامن المستفادة بشكل دوري في التخزين بحيث تبدأ المثيلات الجديدة من تلك القيم بدلا من البدء من 1 والاضطرار إلى إعادة التعلم. |
eventHub
يمكن العثور على إعدادات التكوين في مشغلات مركز الأحداث وعمليات الربط.
المُلحقات
الخاصية التي تعرض عنصراً يحتوي على جميع الإعدادات الخاصة بالربط، مثل http وeventHub.
extensionBundle
تتيح لك حزم الملحقات إضافة مجموعة متوافقة من ملحقات ربط الوظائف إلى تطبيق الوظيفة. لتتعرف على المزيد، اطلع على حزم الملحقات للتنمية المحلية.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
الخصائص التالية متوفرة في extensionBundle
:
الخاصية | الوصف |
---|---|
id |
مساحة الاسم لحزم ملحقات Microsoft Azure Functions. |
version |
نطاق إصدار الحزمة المراد تثبيتها. يقوم وقت تشغيل الوظائف دائماً باختيار الحد الأقصى للإصدار المسموح به المحدد بواسطة نطاق الإصدار أو الفاصل الزمني. على سبيل المثال، version يسمح نطاق القيمة لكافة [4.0.0, 5.0.0) إصدارات المجموعة من 4.0.0 حتى 5.0.0 ولكن ليس بما في ذلك. لمزيد من المعلومات، راجع تدوين الفاصل لتحديد نطاقات الإصدار . |
وظائف
قائمة الوظائف التي يقوم مضيف الوظيفة بتشغيلها. يعني الصفيف الفارغ تشغيل جميع الوظائف. مخصص للاستخدام فقط عند التشغيل محلياً. في تطبيقات الوظائف في Azure، يجب عليك بدلاً من ذلك اتباع الخطوات الواردة في كيفية تعطيل الوظائف في Azure Functions لتعطيل وظائف معينة بدلاً من استخدام هذا الإعداد.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
يشير إلى مدة المهلة لجميع عمليات تنفيذ الوظائف. يتبع تنسيق السلسلة الزمنية.
نوع الخطة | الافتراضي (الحد الأدنى) | الحد الأقصى (الحد الأدنى) |
---|---|---|
الاستهلاك | 5 | 10 |
الخطة المميزة 1 | 30 | -1 (غير مقيد) 2 |
(App Service) مخصصة | 30 | -1 (غير مقيد) 2 |
1 يتم ضمان تنفيذ الخطة المميزة لمدة 60 دقيقة فقط، ولكن من الناحية التقنية غير مقيد.
2 تشير قيمة -1
إلى تنفيذ غير محدود، ولكن يوصى بالحفاظ على حد أعلى ثابت.
{
"functionTimeout": "00:05:00"
}
healthMonitor
إعدادات التكوين لمراقبة صحة المضيف.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
الخاصية | Default | الوصف |
---|---|---|
مُمكَّن | صحيح | تحديد ما إذا كانت الميزة ممكّنة أم لا. |
healthCheckInterval | 10 ثوان | الفاصل الزمني بين الفحوصات الدورية لصحة الخلفية. |
healthCheckWindow | 2 دقيقة | وقت زمني منزلق يُستخدم مع الإعداد healthCheckThreshold . |
healthCheckThreshold | 6 | الحد الأقصى لعدد المرات التي يمكن أن يفشل فيها فحص الحالة قبل بدء عملية حذف المضيف. |
counterThreshold | 0.80 | الحد الأدنى الذي سيتم اعتبار حالة عداد الأداء عنده غير صحية. |
http
يمكن العثور على إعدادات التكوين في مشغلات http وعمليات الربط.
التسجيل
التحكم في سلوكيات التسجيل لتطبيق الوظيفة، بما في ذلك Application Insights.
"logging": {
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.MyFunction": "Information",
"default": "None"
},
"console": {
...
},
"applicationInsights": {
...
}
}
الخاصية | Default | الوصف |
---|---|---|
fileLoggingMode | debugOnly | تحديد سلوك تسجيل الملفات عند التشغيل في Azure. الخيارات هي never و always و.debugOnly لا يتم استخدام هذا الإعداد عند التشغيل محليا. عندما يكون ذلك ممكنا، يجب عليك استخدام Application Insights عند تصحيح أخطاء وظائفك في Azure. يؤثر الاستخدام always سلبا على سلوك البدء البارد لتطبيقك ومعدل نقل البيانات. ينشئ الإعداد الافتراضي debugOnly ملفات السجل عند تصحيح الأخطاء باستخدام مدخل Microsoft Azure. |
logLevel | غير متوفر | العنصر الذي يحدد تصفية فئة السجل للوظائف في التطبيق. يتيح لك هذا الإعداد تصفية التسجيل لوظائف محددة. لمزيد من المعلومات، اطلع على تكوين مستويات السجل. |
console | غير متوفر | إعداد التسجيل في وحدة التحكم. |
applicationInsights | غير متوفر | إعداد applicationInsights. |
managedDependency
التبعية المُدارة هي ميزة مدعمة حالياً فقط من خلال الوظائف المستندة إلى PowerShell. وتتيح إدارة التبعيات تلقائياً بواسطة الخدمة. عندما يتم تعيين الخاصية enabled
على true
، تتم معالجة ملف requirements.psd1
. يتم تحديث التبعيات عند إصدار أي إصدارات ثانوية. لمزيد من المعلومات، اطلع على التبعية المُدارة في مقالة PowerShell.
{
"managedDependency": {
"enabled": true
}
}
صفوف
يمكن العثور على إعدادات التكوين في مشغلات قائمة انتظار التخزين وعمليات الربط.
sendGrid
يمكن العثور على إعدادات التكوين في مشغلات SendGrid وعمليات الربط.
serviceBus
يمكن العثور على إعدادات التكوين في مشغلات ناقل الخدمة وعمليات الربط.
singleton
إعدادات التكوين لسلوك تأمين Singleton. لمزيد من المعلومات، اطلع على مشكلة GitHub حول دعم singleton.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
الخاصية | Default | الوصف |
---|---|---|
lockPeriod | 00:00:15 | الفترة التي يتم أخذ تأمينات مستوى الوظيفة لها. تجديد التأمين التلقائي. |
listenerLockPeriod | 00:01:00 | الفترة التي يتم أخذ تأمين المستمع. |
listenerLockRecoveryPollingInterval | 00:01:00 | الفاصل الزمني المستخدم لاسترداد تأمين المستمع إذا لم يكن من الممكن الحصول على تأمين المستمع عند بدء التشغيل. |
lockAcquisitionTimeout | 00:01:00 | الحد الأقصى لمقدار الوقت الذي سيحاول فيه وقت التشغيل الحصول على تأمين. |
lockAcquisitionPollingInterval | غير متوفر | الفاصل الزمني بين محاولات الحصول على التأمين. |
نموذج بيانات تتبع الاستخدام
هذه الميزة قيد المعاينة حاليا.
يستخدم لتمكين إخراج السجلات والتتبعات بتنسيق إخراج OpenTelemetry إلى نقطة نهاية واحدة أو أكثر تدعم OpenTelemetry. عند تعيين هذا الإعداد إلى OpenTelemetry
، يتم استخدام إخراج OpenTelemetry. بشكل افتراضي بدون هذا الإعداد، يتم إرسال جميع السجلات والتتبعات والأحداث إلى Application Insights باستخدام المخرجات القياسية. لمزيد من المعلومات، راجع استخدام OpenTelemetry مع Azure Functions.
إصدار
تشير هذه القيمة إلى إصدار المخطط host.json. سلسلة الإصدار "version": "2.0"
مطلوبة لتطبيق وظيفة تستهدف وقت تشغيل v2 أو إصدار أحدث. لا توجد تغييرات مخطط host.json بين إصدارات v2 و v3.
watchDirectories
مجموعة من أدلة التعليمات البرمجية المشتركة التي يجب مراقبتها من أجل التغييرات. ضمان أنه عند تغيير التعليمات البرمجية في هذه الدلائل، سيتم التقاط التغييرات بواسطة وظائفك.
{
"watchDirectories": [ "Shared" ]
}
watchFiles
صفيف من اسم واحد أو أكثر من الملفات التي تتم مراقبتها بحثاً عن التغييرات التي تتطلب إعادة تشغيل التطبيق. يضمن هذا أنه عند تغيير التعليمات البرمجية في هذه الملفات، يتم التقاط التحديثات بواسطة وظائفك.
{
"watchFiles": [ "myFile.txt" ]
}
تجاوز قيم host.json
قد توجد مثيلات ترغب فيها في تكوين أو تعديل إعدادات معينة في ملف host.json لبيئة معينة، دون تغيير ملف host.json نفسه. يمكنك تجاوز قيم host.json معينة عن طريق إنشاء قيمة مقابلة كإعداد للتطبيق. عندما يعثر وقت التشغيل على إعداد تطبيق بالتنسيق AzureFunctionsJobHost__path__to__setting
، فإنه يتجاوز إعداد host.json المقابل الموجود في path.to.setting
في JSON. عند التعبير عنها كإعداد تطبيق، يتم استبدال النقطة (.
) المستخدمة للإشارة إلى التسلسل الهرمي لـ JSON بشرطة سفلية مزدوجة (__
).
على سبيل المثال، لنفترض أنك تريد تعطيل أخذ عينات Application Insight عند التشغيل محلياً. إذا قمت بتغيير ملف host.json المحلي لتعطيل Application Insights، فقد يتم دفع هذا التغيير إلى تطبيق الإنتاج أثناء النشر. تتمثل الطريقة الأكثر أماناً للقيام بذلك في إنشاء إعداد تطبيق مثل "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
في ملف local.settings.json
بدلاً من ذلك. يمكنك الاطلاع على ذلك في ملف local.settings.json
التالي، والذي لم يتم نشره:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "{storage-account-connection-string}",
"FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
"AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
}
}
يتبع تجاوز إعدادات host.json باستخدام متغيرات البيئة اصطلاحات تسمية ASP.NET Core. عندما تتضمن بنية العنصر صفيفا، يجب التعامل مع فهرس الصفيف الرقمي كاسم عنصر إضافي في هذا المسار. لمزيد من المعلومات، راجع تسمية متغيرات البيئة.