ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يحتوي ملف بيانات التعريف host.json على خيارات التكوين التي تؤثر على جميع الوظائف في مثيل تطبيق الوظيفة. تسرد هذه المقالة الإعدادات المتوفرة لوقت تشغيل الإصدار 1.x. مخطط JSON في http://json.schemastore.org/host.
إشعار
هذه المقالة مخصصة لدالات Azure 1.x. للحصول على مرجع لـ host.json في Functions 2.x أو الأحدث، راجع مرجع host.json لـ Azure Functions 2.x.
تتم إدارة خيارات تكوين تطبيق الدوال الأخرى في إعدادات التطبيق.
يتم استخدام بعض إعدادات host.json فقط عند التشغيل محليًا في ملف local.settings.json.
نموذج ملف host.json
تحتوي نماذج ملفات host.jsonالتالية بالكامل على خيارات محتملة محددة.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
},
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
},
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
},
"functions": [ "QueueProcessor", "GitHubWebHook" ],
"functionTimeout": "00:05:00",
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
},
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 20,
"maxConcurrentRequests": 10,
"dynamicThrottlesEnabled": false
},
"id": "9f4ea53c5136457d883d685e57164f08",
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
},
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
},
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
},
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
},
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
},
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
},
"watchDirectories": [ "Shared" ],
}
تشرح الأقسام التالية من هذه المقالة كل خاصية من المستوى الأعلى. جميعها اختيارية ما لم يذكر خلاف ذلك.
مجمع
يحدد عدد استدعاءات الوظائف التي يتم تجميعها عند حساب قياسات Application Insights.
{
"aggregator": {
"batchSize": 1000,
"flushTimeout": "00:00:30"
}
}
الخاصية | Default | الوصف |
---|---|---|
batchSize | 1000 | أقصى عدد من الطلبات للتجميع. |
flushTimeout | 00:00:30 | أقصى فترة زمنية للتجميع. |
يتم تجميع استدعاءات الوظائف عند الوصول إلى أول حدين.
applicationInsights
يتحكم في ميزة أخذ العينات في Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
الخاصية | Default | الوصف |
---|---|---|
isEnabled | صحيح | تمكين أو تعطيل أخذ العينات. |
maxTelemetryItemsPerSecond | 5 | الحد الذي يبدأ عنده أخذ العينات. |
DocumentDB
إعدادات التكوين لمشغل Azure Cosmos DB والروابط.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
الخاصية | Default | الوصف |
---|---|---|
GatewayMode | البوابة | وضع الاتصال المستخدم من قبل الدالة عند الاتصال بخدمة Azure Cosmos DB. الخيارات هي Direct وGateway |
البروتوكول | Https | بروتوكول الاتصال المستخدم من قبل الدالة عند الاتصال بخدمة Azure Cosmos DB. اقرأ هنا للحصول على شرح لكلا الوضعين |
leasePrefix | غير متوفر | بادئة التأجير لاستخدامها عبر جميع الوظائف في التطبيق. |
durableTask
إعدادات التكوين لـ الوظائف الدائمة.
إشعار
يتم اعتماد كافة الإصدارات الرئيسية من "وظائف دائمة" على كافة إصدارات وقت تشغيل "وظائف Azure". ومع ذلك، يختلف مخطط تكوين host.json قليلاً اعتمادًا على إصدار وقت تشغيل وظائف Azure وإصدار ملحق الوظائف الدائمة الذي تستخدمه. الأمثلة التالية للاستخدام مع Azure Functions 2.0 و3.0. في كلا المثالين، إذا كنت تستخدم Azure Functions 1.0، فإن الإعدادات المتوفرة هي نفسها، ولكن يجب أن ينتقل قسم "durableTask" في host.json إلى جذر تكوين host.json بدلا من حقل ضمن "الملحقات".
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
},
"tracing": {
"traceInputsAndOutputs": false,
"traceReplayEvents": false,
},
"notifications": {
"eventGrid": {
"topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
"keySettingName": "EventGridKey",
"publishRetryCount": 3,
"publishRetryInterval": "00:00:30",
"publishEventTypes": [
"Started",
"Completed",
"Failed",
"Terminated"
]
}
},
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 10,
"maxConcurrentEntityFunctions": 10,
"extendedSessionsEnabled": false,
"extendedSessionIdleTimeoutInSeconds": 30,
"useAppLease": true,
"useGracefulShutdown": false,
"maxEntityOperationBatchSize": 50,
"maxOrchestrationActions": 100000,
"storeInputsInOrchestrationHistory": false
}
}
}
يجب أن تبدأ أسماء مركز المهام بحرف وتتكون من أحرف وأرقام فقط. إذا لم يتم تحديده، فإن اسم مركز المهام الافتراضي لتطبيق الوظائف هو TestHubName. لمزيد من المعلومات، راجع مراكز المهام.
الخاصية | Default | الوصف |
---|---|---|
hubName | TestHubName (DurableFunctionsHub إذا كنت تستخدم Durable Functions 1.x) | يمكن استخدام أسماء مركز المهام البديلة لعزل تطبيقات الوظائف الدائمة المتعددة عن بعضها البعض، حتى إذا كانت تستخدم نفس واجهة التخزين الخلفية. |
controlQueueBatchSize | 32 | عدد الرسائل المطلوب سحبها من قائمة انتظار التحكم في المرة الواحدة. |
controlQueueBufferThreshold |
خطة الاستهلاك ل Python: 32 خطة الاستهلاك للغات الأخرى: 128 خطة مخصصة/مميزة: 256 |
عدد رسائل قائمة انتظار التحكم التي يمكن تخزينها مؤقتًا في الذاكرة في كل مرة، وعند هذه النقطة سينتظر المرسل قبل إلغاء ترتيب أي رسائل إضافية. في بعض الحالات، يمكن أن يؤدي تقليل هذه القيمة إلى تقليل استهلاك الذاكرة بشكل كبير. |
حساب عدد الأقسام | 4 | عدد الأقسام لقائمة انتظار التحكم. قد يكون عددًا صحيحًا موجبًا بين 1 و 16. يتطلب تغيير هذه القيمة تكوين مركز مهام جديد. |
controlQueueVisibilityTimeout | 5 دقائق | مهلة الرؤية لرسائل قائمة انتظار التحكم التي تم إلغاء صفها. |
workItemQueueVisibilityTimeout | 5 دقائق | مهلة الرؤية لرسائل قائمة انتظار عنصر العمل التي تم إلغاء صفها. |
maxConcurrentActivityFunctions |
خطة الاستهلاك: 10 خطة مخصصة/مميزة: 10 أضعاف عدد المعالجات على الجهاز الحالي |
الحد الأقصى لعدد وظائف النشاط التي يمكن معالجتها بشكل متزامن على مثيل مضيف واحد. |
maxConcurrentOrchestratorFunctions |
خطة الاستهلاك: 5 خطة مخصصة/مميزة: 10 أضعاف عدد المعالجات على الجهاز الحالي |
الحد الأقصى لعدد وظائف المنسق التي يمكن معالجتها بشكل متزامن على مثيل مضيف واحد. |
maxConcurrentEntityFunctions |
خطة الاستهلاك: 5 خطة مخصصة/مميزة: 10 أضعاف عدد المعالجات على الجهاز الحالي |
الحد الأقصى لعدد وظائف الكيان التي يمكن معالجتها بشكل متزامن على مثيل مضيف واحد. ينطبق هذا الإعداد فقط عند استخدام مجدول المهام الدائم. وإلا، يقتصر الحد الأقصى لعدد عمليات تنفيذ الكيان المتزامنة على maxConcurrentOrchestratorFunctions . |
maxQueuePollingInterval | 30 seconds | الحد الأقصى للفاصل الزمني لاستقصاء قائمة انتظار عنصر العمل والتحكم في تنسيق hh:mm:ss. يمكن أن تؤدي القيم الأعلى إلى زمن انتقال أعلى لمعالجة الرسائل. يمكن أن تؤدي القيم المنخفضة إلى تكاليف تخزين أعلى بسبب زيادة عمليات التخزين. |
connectionName (2.7.0 والإصدارات الأحدث) connectionStringName (2.x) azureStorageConnectionStringName (1.x) |
AzureWebJobsStorage | اسم إعداد التطبيق أو مجموعة الإعدادات التي تحدد كيفية الاتصال بموارد Azure Storage الأساسية. عند توفير إعداد تطبيق واحد، يجب أن يكون سلسلة اتصال Azure Storage. |
trackingStoreConnectionName (2.7.0 والإصدارات الأحدث) trackingStoreConnectionStringName |
اسم إعداد التطبيق أو مجموعة الإعدادات التي تحدد كيفية الاتصال بجداول المحفوظات والمثيلات. عند توفير إعداد تطبيق واحد، يجب أن يكون سلسلة اتصال Azure Storage. إذا لم يتم تحديده، فسيتم استخدام اتصال connectionStringName (Durable 2.x) أو azureStorageConnectionStringName (Durable 1.x). |
|
trackingStoreNamePrefix | البادئة المراد استخدامها لجدول "المحفوظات" و"المثيلات" عند تحديد trackingStoreConnectionStringName . إذا لم يتم تعيينها، فإن قيمة البادئة الافتراضية ستكون DurableTask . إذا trackingStoreConnectionStringName لم يتم تحديد، فسيستخدم hubName جدولا المحفوظات والمثيلات القيمة كبادئة، وسيتم تجاهل أي إعداد ل trackingStoreNamePrefix . |
|
traceInputsAndOutputs | true | قيمة تشير إلى ما إذا كان سيتم تتبع مدخلات ومخرجات استدعاءات الوظائف. السلوك الافتراضي عند تتبع أحداث تنفيذ الوظيفة هو تضمين عدد البايتات في المدخلات والمخرجات المتسلسلة لاستدعاءات الوظائف. يوفر هذا السلوك الحد الأدنى من المعلومات حول شكل المدخلات والمخرجات دون تضخيم السجلات أو الكشف عن معلومات حساسة عن غير قصد. يؤدي تعيين هذه الخاصية على القيمة الحقيقية إلى قيام وظيفة تسجيل الدخول الافتراضية بتسجيل محتويات مدخلات ومخرجات الوظيفة بالكامل. |
traceReplayEvents | true | قيمة تشير إلى ما إذا كان سيتم كتابة أحداث إعادة تشغيل التزامن إلى Application Insights. |
eventGridTopicEndpoint | عنوان URL لنقطة نهاية الموضوع المخصص لشبكة حدث Azure. عند تعيين هذه الخاصية، يتم نشر أحداث إعلام دورة حياة التزامن إلى نقطة النهاية هذه. تدعم هذه الخاصية دقة إعدادات التطبيق. | |
eventGridKeySettingName | اسم إعداد التطبيق الذي يحتوي على المفتاح المستخدم للمصادقة مع موضوع Azure Event Grid المخصص في EventGridTopicEndpoint . |
|
eventGridPublishRetryCount | 0 | عدد مرات إعادة المحاولة في حالة فشل النشر إلى "موضوع شبكة الحدث". |
eventGridPublishRetryInterval | 5 دقائق | تنشر Event Grid الفاصل الزمني لإعادة المحاولة بتنسيق hh:mm:ss. |
eventGridPublishEventTypes | قائمة أنواع الأحداث التي سيتم نشرها على Event Grid. إذا لم يتم تحديدها، سيتم نشر جميع أنواع الأحداث. تتضمن القيم المسموح بها Started و Completed و Failed وTerminated . |
|
useAppLease | صحيح | عند التعيين على true ، ستتطلب التطبيقات الحصول على تأجير blob على مستوى التطبيق قبل معالجة رسائل مركز المهام. لمزيد من المعلومات، راجع وثائق الإصلاح بعد كارثة والتوزيع الجغرافي. متاح بدءاً من v2.3.0. |
useLegacyPartitionManagement | true | عند التعيين على false ، يستخدم خوارزمية إدارة القسم التي تقلل من احتمالية تنفيذ وظيفة مكررة عند القياس. متاح بدءاً من v2.3.0.
تعيين هذه القيمة إلى true غير مستحسن. |
إدارة قسم استخدامTable |
true في إصدارات ملحق v3.xfalse في إصدارات ملحق v2.x |
عند التعيين إلى true ، يستخدم خوارزمية إدارة القسم المصممة لتقليل تكاليف حسابات Azure Storage V2. متوفر بدءا من WebJobs.Extensions.DurableTask v2.10.0. يتطلب استخدام هذا الإعداد مع الهوية المدارة WebJobs.Extensions.DurableTask v3.x أو أحدث، أو إصدارات Worker.Extensions.DurableTask الأقدم من الإصدار 1.2.x أو أحدث. |
useGracefulShutdown | true | (إصدار أولي) قم بتمكين إيقاف التشغيل بأمان لتقليل فرصة فشل عمليات إيقاف تشغيل المضيف في عمليات تنفيذ الوظيفة أثناء العملية. |
maxEntityOperationBatchSize(2.6.1) |
خطة الاستهلاك: 50 خطة مخصصة/مميزة: 5000 |
الحد الأقصى لعدد عمليات الكيان التي تتم معالجتها على أنها دُفعة. في حالة الضبط على 1، يتم تعطيل التجميع، وتتم معالجة كل رسالة عملية بواسطة استدعاء وظيفة منفصلة. |
storeInputsInOrchestrationHistory | true | عند التعيين إلى true ، يخبر Durable Task Framework بحفظ إدخالات النشاط في جدول المحفوظات. يتيح هذا عرض مدخلات دالة النشاط عند الاستعلام عن محفوظات التنسيق. |
maxGrpcMessageSizeInBytes | 4194304 | قيمة عدد صحيح تحدد الحد الأقصى لحجم الرسائل التي يمكن أن يتلقاها عميل gRPC ل DurableTaskClient بالبايت. ينطبق هذا على Durable Functions .NET Isolated وJava. |
العديد من هذه الإعدادات لتحسين الأداء. لمزيد من المعلومات، راجع الأداء وتغيير السعة.
eventHub
إعدادات التكوين لمشغلات Event Hub والروابط.
وظائف
قائمة الوظائف التي يقوم مضيف الوظيفة بتشغيلها. يعني الصفيف الفارغ تشغيل جميع الوظائف. مخصص للاستخدام فقط عند التشغيل محلياً. في تطبيقات الوظائف في Azure، يجب عليك بدلاً من ذلك اتباع الخطوات الواردة في كيفية تعطيل الوظائف في Azure Functions لتعطيل وظائف معينة بدلاً من استخدام هذا الإعداد.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
يشير إلى مدة المهلة لجميع الوظائف. في خطة استهلاك بلا خادم، يكون النطاق الصالح من 1 ثانية إلى 10 دقائق، والقيمة الافتراضية هي 5 دقائق. في خطة App Service، لا يوجد حد عام والافتراضي هو خالٍ، مما يشير إلى عدم وجود مهلة.
{
"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 والروابط.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
الخاصية | Default | الوصف |
---|---|---|
dynamicThrottlesEnabled | true | عند التمكين، يتسبب هذا الإعداد في أن يتحقق مسار معالجة الطلب بشكل دوري من عدادات أداء النظام مثل الاتصالات/مؤشرات الترابط/العمليات/الذاكرة/وحدة المعالجة المركزية/إلخ. وإذا تجاوز أي من هذه العدادات عتبة عالية مضمنة (80٪)، يتم رفض الطلبات مع استجابة 429 "مشغول جدا" حتى يعود العداد (العدادات) إلى المستويات العادية. |
maxConcurrentRequests | غير مقيد (-1 ) |
الحد الأقصى لعدد دوال HTTP التي سيتم تنفيذها بالتوازي. يسمح لك هذا بالتحكم في التزامن، والذي يمكن أن يساعد في إدارة استخدام مورد. على سبيل المثال، قد يكون لديك دالة HTTP تستخدم الكثير من موارد النظام (memory/cpu/sockets) بحيث تتسبب في حدوث مشكلات عندما يكون التزامن مرتفعًا جدًا. أو قد يكون لديك دالة تقدم طلبات صادرة لخدمة جهة خارجية، ويجب أن تكون هذه الاتصالات محدودة التقييم. في هذه الحالات، يمكن أن يساعد استخدام تقييد هنا. |
maxOutstandingRequests | غير مقيد (-1 ) |
الحد الأقصى لعدد الطلبات المعلقة التي يتم الاحتفاظ بها في أي وقت. يتضمن هذا الحد الطلبات التي تم وضعها في قائمة الانتظار ولكن لم تبدأ في التنفيذ، وأي عمليات تنفيذ قيد التقدم. يتم رفض أي طلبات واردة تتجاوز هذا الحد باستجابة 429 "مشغول للغاية". يسمح ذلك للمتصلين باستخدام استراتيجيات إعادة المحاولة المستندة إلى الوقت، ويساعدك أيضًا على عنصر تحكم في الحد الأقصى من أزمنة انتقال الطلب. يتحكم هذا فقط في قائمة الانتظار التي تحدث ضمن مسار تنفيذ مضيف البرنامج النصي. ستظل قوائم الانتظار الأخرى مثل قائمة الانتظار طلب ASP.NET سارية ولن تتأثر بهذا الإعداد. |
routePrefix | واجهة برمجة التطبيقات | بادئة المسار التي تنطبق على كافة المسارات. استخدم سلسلة فارغة ليزيل البادئة الافتراضية. |
المعرف
المعرف الفريد لمضيف الوظيفة. يمكن أن يكون معرّف فريد بأحرف صغيرة مع إزالة الشرطات. مطلوب عند التشغيل محليًا. عند التشغيل في Azure، نوصي بعدم تعيين قيمة معرف. يتم إنشاء معرف تلقائيًا في Azure عند حذف id
.
إذا كنت تشارك حساب تخزين عبر تطبيقات دوال متعددة، فتأكد من أن كل تطبيق دالة له id
مختلف. يمكنك حذف خاصية id
أو تعيين id
لكل تطبيق دالة على قيمة مختلفة. يستخدم مشغل المؤقت قفل تخزين للتأكد من وجود مثيل مؤقت واحد فقط عندما ينتقل تطبيق الوظائف إلى مثيلات متعددة. إذا كان تطبيقا وظائف يشتركان في نفس الشيء id
ويستخدم كل منهما مشغل مؤقت، يتم تشغيل مؤقت واحد فقط.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
المسجل
يتحكم في التصفية للسجلات المكتوبة بواسطة كائن ILogger أو بواسطة context.log.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
الخاصية | Default | الوصف |
---|---|---|
categoryFilter | غير متوفر | يحدد التصفية حسب الفئة |
defaultLevel | المعلومات | لأي فئات غير محددة في صفيف categoryLevels ، إرسال سجلات في هذا المستوى وما فوق إلى Application Insights. |
categoryLevels | غير متوفر | صفيف من الفئات التي تحدد مستوى السجل الأدنى لإرسالها إلى Application Insights لكل فئة. الفئة المحددة هنا تتحكم في جميع الفئات التي تبدأ بنفس القيمة، والقيم الأطول لها الأسبقية. في ملف host.json للنموذج السابق، جميع الفئات التي تبدأ بـ "Host.Aggregator"، سجل الدخول عند المستوى Information . جميع الفئات الأخرى التي تبدأ بـ "Host"، مثل "Host.Executor"، سجل الدخول عند المستوى Error . |
صفوف
إعدادات التكوين لـ مشغلات قائمة انتظار التخزين والروابط.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
الخاصية | Default | الوصف |
---|---|---|
maxPollingInterval | 60000 | الفاصل الزمني الأقصى بالمللي ثانية بين استطلاعات قائمة الانتظار. |
visibilityTimeout | 0 | الفاصل الزمني بين إعادة المحاولة عند فشل معالجة الرسالة. |
batchSize | 16 | عدد رسائل قائمة الانتظار التي يقوم وقت تشغيل الدالات باستردادها في وقت واحد، ومعالجتها بالتوازي. عندما يصل الرقم الذي تتم معالجته إلى newBatchThreshold ، يحصل وقت التشغيل على دفعة أخرى ويبدأ معالجة هذه الرسائل. لذا فإن الحد الأقصى لعدد الرسائل المتزامنة التي تتم معالجتها لكل وظيفة هو batchSize زائد newBatchThreshold . ينطبق هذا الحد بشكل منفصل على كل دالة تُشغلها قائمة انتظار. إذا كنت تريد تجنب التنفيذ الموازي للرسائل المتلقاة في قائمة انتظار واحدة، يمكنك تعيين batchSize إلى 1. مع ذلك، يلغي هذا الإعداد التزامن فقط طالما يعمل تطبيق الدالة على جهاز ظاهري واحد (VM). إذا توسع تطبيق الوظيفة لأكثر من جهاز ظاهري، يمكن لكل جهاز ظاهري أن يُشغل مثيل واحد من كل وظيفة تُشغلها قائمة الانتظار.الحد الأقصى لـ batchSize هو 32. |
maxDequeueCount | 5 | عدد المرات التي يجب فيها محاولة معالجة إحدى الرسائل قبل نقلها إلى قائمة انتظار الإزالة. |
newBatchThreshold | batchSize/2 | كلما نقص عدد الرسائل التي تتم معالجتها بشكل متزامن وصولاً لهذا الرقم، يقوم وقت التشغيل باسترداد دفعة أخرى. |
SendGrid
إعداد التكوين لربط إخراج SendGrind
{
"sendGrid": {
"from": "Contoso Group <admin@contoso.com>"
}
}
الخاصية | Default | الوصف |
---|---|---|
من | غير متوفر | عنوان البريد الإلكتروني للمرسل عبر جميع الوظائف. |
serviceBus
إعدادات التكوين لمشغلات ناقل الخدمة والروابط.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
الخاصية | Default | الوصف |
---|---|---|
الحد الأقصى للمكالمات المتزامنة | 16 | الحد الأقصى لعدد المكالمات المتزامنة لرد الاتصال التي يجب أن تبدأها مضخة الرسائل. بشكل افتراضي، يعالج وقت تشغيل الوظائف رسائل متعددة في نفس الوقت. لتوجيه وقت التشغيل لمعالجة قائمة انتظار واحدة فقط أو رسالة موضوع في المرة، عيّن maxConcurrentCalls على 1. |
prefetchCount | غير متوفر | PrefetchCount الافتراضي الذي سيتم استخدامه من قبل ServiceBusReceiver الأساسي. |
autoRenewTimeout | 00:05:00 | الحد الأقصى للمدة التي سيتم خلالها تجديد قفل الرسالة تلقائيًا. |
autoComplete | صحيح | عندما يكون صحيحا، يكمل المشغل معالجة الرسائل تلقائيا عند التنفيذ الناجح للعملية. عند خطأ، تتحمل الدالة مسؤولية إكمال الرسالة قبل العودة. |
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 | غير متوفر | الفاصل الزمني بين محاولات الحصول على التأمين. |
تتبع
الإصدار 1.x
إعدادات التكوين للسجلات التي تُنشئها باستخدام كائن TraceWriter
. لمعرفة المزيد، راجع [C# Logging].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
الخاصية | Default | الوصف |
---|---|---|
consoleLevel | معلومات | مستوى التتبع لتسجيل وحدة التحكم. الخيارات هي: off وerror وwarning وinfo وverbose . |
fileLoggingMode | debugOnly | مستوى التتبع لتسجيل الملف. الخيارات هي never وalways وdebugOnly . |
watchDirectories
مجموعة من أدلة التعليمات البرمجية المشتركة التي يجب مراقبتها من أجل التغييرات. ضمان أنه عند تغيير التعليمات البرمجية في هذه الدلائل، سيتم التقاط التغييرات بواسطة وظائفك.
{
"watchDirectories": [ "Shared" ]
}