مرجع host.json لـ Azure Functions 1.x

يحتوي ملف بيانات التعريف 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": true,
      "useTablePartitionManagement": false,
      "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",
          "Pending",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "storeInputsInOrchestrationHistory": false
  }
 }
}

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

الخاصية Default ‏‏الوصف
hubName TestHubName (DurableFunctionsHub إذا كنت تستخدم Durable Functions 1.x) يمكن استخدام أسماء مركز المهام البديلة لعزل تطبيقات الوظائف الدائمة المتعددة عن بعضها البعض، حتى إذا كانت تستخدم نفس واجهة التخزين الخلفية.
controlQueueBatchSize 32 عدد الرسائل المطلوب سحبها من قائمة انتظار التحكم في المرة الواحدة.
controlQueueBufferThreshold خطة الاستهلاك ل Python: 32
خطة الاستهلاك ل JavaScript وC#: 128
خطة مخصصة/مميزة: 256
عدد رسائل قائمة انتظار التحكم التي يمكن تخزينها مؤقتًا في الذاكرة في كل مرة، وعند هذه النقطة سينتظر المرسل قبل إلغاء ترتيب أي رسائل إضافية.
حساب عدد الأقسام 4 عدد الأقسام لقائمة انتظار التحكم. قد يكون عددًا صحيحًا موجبًا بين 1 و 16.
controlQueueVisibilityTimeout 5 دقائق مهلة الرؤية لرسائل قائمة انتظار التحكم التي تم إلغاء صفها.
workItemQueueVisibilityTimeout 5 دقائق مهلة الرؤية لرسائل قائمة انتظار عنصر العمل التي تم إلغاء صفها.
maxConcurrentActivityFunctions خطة الاستهلاك: 10
خطة مخصصة/مميزة: 10 أضعاف عدد المعالجات على الجهاز الحالي
الحد الأقصى لعدد وظائف النشاط التي يمكن معالجتها بشكل متزامن على مثيل مضيف واحد.
maxConcurrentOrchestratorFunctions خطة الاستهلاك: 5
خطة مخصصة/مميزة: 10 أضعاف عدد المعالجات على الجهاز الحالي
الحد الأقصى لعدد وظائف المنسق التي يمكن معالجتها بشكل متزامن على مثيل مضيف واحد.
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.
إدارة قسم استخدامTable true عند التعيين إلى true، يستخدم خوارزمية إدارة القسم المصممة لتقليل تكاليف حسابات Azure Storage V2. متوفر بدءا من الإصدار 2.10.0. هذه الميزة قيد المعاينة حاليا وغير متوافقة بعد مع خطة الاستهلاك.
useGracefulShutdown true (إصدار أولي) قم بتمكين إيقاف التشغيل بأمان لتقليل فرصة فشل عمليات إيقاف تشغيل المضيف في عمليات تنفيذ الوظيفة أثناء العملية.
maxEntityOperationBatchSize(2.6.1) خطة الاستهلاك: 50
خطة مخصصة/مميزة: 5000
الحد الأقصى لعدد عمليات الكيان التي تتم معالجتها على أنها دُفعة. في حالة الضبط على 1، يتم تعطيل التجميع، وتتم معالجة كل رسالة عملية بواسطة استدعاء وظيفة منفصلة.
storeInputsInOrchestrationHistory true عند التعيين إلى true، يخبر Durable Task Framework بحفظ إدخالات النشاط في جدول المحفوظات. يتيح هذا عرض مدخلات دالة النشاط عند الاستعلام عن محفوظات التنسيق.

العديد من هذه الإعدادات لتحسين الأداء. لمزيد من المعلومات، راجع الأداء وتغيير السعة.

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" ]
}

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