Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Файл метаданных host.json содержит параметры конфигурации, которые влияют на все функции в экземпляре приложения-функции. В этой статье перечислены параметры, доступные для среды выполнения версии 1.x. Схему JSON можно найти по адресу http://json.schemastore.org/host.
Примечание.
Эта статья предназначена для службы "Функции Azure" версии 1.x. Справочная информация о файле host.json в Функциях Azure версии 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 <[email protected]>"
},
"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"
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| РазмерПакета | 1000 | Максимальное количество запросов, которое необходимо обработать. |
| flushTimeout | 00:00:30 | Максимальный период времени для агрегации. |
Агрегация вызовов функций происходит, когда достигается первое из двух ограничений.
аналитика приложений
Управляет функцией выборки в Application Insights.
{
"applicationInsights": {
"sampling": {
"isEnabled": true,
"maxTelemetryItemsPerSecond" : 5
}
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| включен | истина | Включает или отключает выборку. |
| Макс.КоличествоТелеметрииВСекунду | 5 | Пороговое значение, при котором начинается выборка. |
DocumentDB
Параметры конфигурации для триггера и привязок Azure Cosmos DB.
{
"documentDB": {
"connectionMode": "Gateway",
"protocol": "Https",
"leaseOptions": {
"leasePrefix": "prefix1"
}
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| Режим шлюза | Шлюз | Режим подключения, используемый функцией при подключении к службе Azure Cosmos DB. Возможные значения: Direct и Gateway. |
| Протокол | Https | Протокол подключения, используемый функцией при подключении к службе Azure Cosmos DB. Описание обоих режимов |
| префикс аренды | Н/Д | Префикс аренды для применения во всех функциях приложения. |
надёжная задача
Параметры конфигурации для устойчивых функций.
Примечание.
Все основные версии Устойчивых функций поддерживаются во всех версиях среды выполнения Функций Azure. Однако схема конфигурации host.json немного отличается в зависимости от версии среды выполнения Функций Azure и версии используемого расширения устойчивых функций.
Следующий код содержит два примера durableTask параметров в host.json: один для устойчивых функций 2.x и один для устойчивых функций 1.x. Вы можете использовать оба примера с функциями Azure 2.0 и 3.0. При использовании Azure Functions 1.0 доступные параметры одинаковы, но раздел host.json расположен в корне конфигурации host.json, а не является полем в разделе extensions.
{
"extensions": {
"durableTask": {
"hubName": "MyTaskHub",
"defaultVersion": "1.0",
"versionMatchStrategy": "CurrentOrOlder",
"versionFailureStrategy": "Reject",
"storageProvider": {
"connectionStringName": "AzureWebJobsStorage",
"controlQueueBatchSize": 32,
"controlQueueBufferThreshold": 256,
"controlQueueVisibilityTimeout": "00:05:00",
"FetchLargeMessagesAutomatically": true,
"maxQueuePollingInterval": "00:00:30",
"partitionCount": 4,
"trackingStoreConnectionStringName": "TrackingStorage",
"trackingStoreNamePrefix": "DurableTask",
"useLegacyPartitionManagement": false,
"useTablePartitionManagement": true,
"workItemQueueVisibilityTimeout": "00:05:00",
"QueueClientMessageEncoding": "UTF8"
},
"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 (DurableFunctionsHub в версии 1.x) | Имя концентратора, в который хранится текущее состояние приложения-функции. Имена центров задач должны начинаться с буквы и содержать только буквы и цифры. Если имя не указано, используется значение по умолчанию. Альтернативные имена концентраторов задач можно использовать для изоляции нескольких приложений устойчивых функций друг от друга, даже если они используют одну и ту же серверную часть хранилища. Для получения дополнительной информации см. раздел Центры задач. |
| defaultVersion | Версия по умолчанию для присваивания новым экземплярам оркестрации. При указании версии новые экземпляры оркестрации навсегда связаны с этим значением версии. Этот параметр используется функцией оркестрации версий для включения таких сценариев, как развертывания без времени простоя с критическими изменениями. Для версии можно использовать любое строковое значение. | |
| стратегияСопоставленияВерсий | ТекущаяИлиБолееСтарая | Значение, определяющее, как осуществляется сопоставление версий оркестрации при загрузке функций оркестратора. Допустимые значения: None, Strictи CurrentOrOlder. Подробные объяснения см. в разделе "Управление версиями". |
| Стратегия обработки отказов версий | Отклонение | Значение, указывающее, что происходит, если версия оркестрации не соответствует текущему defaultVersion значению. Допустимые значения — Reject и Fail. Подробные объяснения см. в разделе "Управление версиями". |
| controlQueueBatchSize | 32 | Количество сообщений, которые нужно извлечь из очереди управления за раз. |
| контрольный порог буфера очереди |
План потребления для Python: 32 План потребления для других языков: 128 Выделенный или премиум план: 256 |
Количество сообщений очереди управления, которые можно буферизовать в памяти одновременно. По достижении указанного числа диспетчер ожидает, прежде чем удалить другие сообщения из очереди. В некоторых ситуациях снижение этого значения может значительно снизить потребление памяти. |
| Количество разделов | 4 | Количество разделов для очереди управления. Это значение должно быть положительным целым числом от 1 до 16. Изменение этого значения требует настройки нового концентратора задач. |
| управление тайм-аутом видимости очереди | 00:05:00 | Время ожидания видимости сообщений из управляющей очереди в формате hh:mm:ss. |
| workItemQueueVisibilityTimeout (таймаут видимости очереди рабочих элементов) | 00:05:00 | Время ожидания видимости сообщений очереди рабочих элементов в формате hh:mm:ss . |
| АвтоматическиЗагружатьБольшиеСообщения | истина | Значение, указывающее, нужно ли получать большие сообщения в запросах состояния оркестрации. Если этот параметр задан true, извлекаются большие сообщения, превышающие ограничение размера очереди. Если этот параметр задан false, извлекается URL-адрес блоба, указывающий на каждое большое сообщение. |
| Максимальное количество одновременно выполняемых функций активности |
План потребления: 10 Выделенный или премиум-план: 10 раз больше процессоров на текущем компьютере |
Максимальное число функций активности, которые могут одновременно обрабатываться на одном экземпляре узла. |
| максимальное количество одновременно работающих оркестровщиков (maxConcurrentOrchestratorFunctions) |
План потребления: 5 Выделенный или премиум-план: 10 раз больше процессоров на текущем компьютере |
Максимальное количество функций оркестратора, которые могут быть обработаны одновременно на одной хостовой инстанции. |
| Максимальное количество одновременных функций сущности |
План потребления: 5 Выделенный или премиум-план: 10 раз больше процессоров на текущем компьютере |
Максимальное количество функций сущностей, которые могут обрабатываться одновременно на одном экземпляре узла. Этот параметр применим только при использовании планировщика устойчивых задач. В противном случае максимальное число параллельных выполнений сущностей ограничено значением maxConcurrentOrchestratorFunctions . |
| максимальный интервал опроса очереди | 00:00:30 | Максимальный интервал контроля и опроса очереди рабочих элементов в формате hh:mm:ss. Высокие значения могут привести к увеличению задержек при обработке сообщений. Низкие значения могут привести к повышению затрат на хранение из-за увеличенного объема транзакций с хранилищем. |
| maxOrchestrationActions | 100,000 | Максимальное количество действий, выполняемых функцией оркестратора, может выполняться в течение одного цикла выполнения. |
| connectionName (версия 2.7.0 и более поздние версии) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | Имя параметра или коллекции параметров приложения, указывающих, как подключиться к базовым ресурсам службы хранилища Azure. Если вы предоставляете один параметр приложения, это должна быть строка подключения к службе хранилища Azure. |
| trackingStoreConnectionName (версия 2.7.0 и более поздние версии) trackingStoreConnectionStringName |
Имя параметра или коллекции параметров приложения, указывающее, как подключиться к таблицам истории и экземпляров, где хранятся история выполнения и метаданные об экземплярах оркестрации. Если вы предоставляете один параметр приложения, это должна быть строка подключения к службе хранилища Azure. Если вы не укажете параметр, используется значение connectionStringName (v2.x) или значение azureStorageConnectionStringName (v1.x). |
|
| trackingStoreNamePrefix | Префикс, используемый для таблиц журнала и экземпляров, если задано значение trackingStoreConnectionStringName. Если префикс не указан, используется значение DurableTask по умолчанию. Если trackingStoreConnectionStringName не указано, таблицы истории и экземпляров используют значение hubName в качестве префикса, а параметр trackingStoreNamePrefix игнорируется. |
|
| traceInputsAndOutputs (проследитьВходыИВыходы) | ложь | Значение, указывающее, следует ли отслеживать входные и выходные данные вызовов функций. При трассировке событий выполнения функции поведение по умолчанию заключается в том, чтобы включить количество байтов в сериализованные входные и выходные данные для вызовов функций. Это поведение обеспечивает минимальную информацию о входных и выходных данных, чтобы не раздуть логи или непреднамеренно раскрыть конфиденциальную информацию. Если это свойство имеет значение true, все содержимое входных и выходных данных функции регистрируется. |
| отслеживание событий воспроизведения | ложь | Значение, указывающее, следует ли записывать события воспроизведения оркестрации в Application Insights. |
| logReplayEvents | ложь | Значение, указывающее, следует ли регистрировать повторяющиеся выполнения в журналах приложений. |
| eventGridTopicEndpoint | URL-адрес конечной точки настраиваемой темы в Azure Event Grid. При установке этого свойства события уведомления жизненного цикла оркестрации публикуются в этой конечной точке. Это свойство поддерживает настройку параметров приложения. | |
| ИмяНастройкиКлючаEventGrid | Имя настройки приложения, содержащей ключ, используемый для проверки подлинности с помощью настраиваемого раздела Event Grid по EventGridTopicEndpoint URL-адресу. |
|
| Количество попыток повторной публикации в eventGrid | 0 | Число повторных попыток, если публикация в сетке событий выполняется неудачно. |
| ИнтервалПовторнойПопыткиПубликацииEventGrid | 00:05:00 | Интервал публикации и повтора в Event Grid в формате hh:mm:ss. |
| eventGridPublishEventTypes | Список типов событий для публикации в Сетке событий. Если вы не указываете какие-либо типы, публикуются все типы событий. Допустимые значения: Started, Completedи FailedTerminated. |
|
| extendedSessionsEnabled | ложь | Значение, указывающее, кэшируются ли сеансы оркестратора сеансов и сеансов функций сущностей. |
| расширенный таймаут простоя сеанса в секундах | 30 | Количество секунд, в течение которых бездействующий оркестратор или функция сущности остается в памяти перед выгрузкой. Этот параметр используется только тогда, когда параметр extendedSessionsEnabled установлен на true. |
| useAppLease | истина | Значение, указывающее, необходимо ли приложениям получать аренду блоб-объекта для приложений перед обработкой сообщений концентратора задач. Дополнительные сведения см. в разделе «Аварийное восстановление и геораспределение в Durable Functions». Этот параметр доступен начиная с версии 2.3.0. |
| использовать устаревшее управление разделами | ложь | Значение, указывающее тип используемого алгоритма управления секциями. При использовании этого параметра falseиспользуется алгоритм, который снижает вероятность дублирования выполнения функции при масштабировании. Этот параметр доступен начиная с версии 2.3.0.
Не рекомендуется задавать это значениеtrue. |
| использовать управление разделением таблицы | В версии 3.x: true В версии 2.x: false |
Значение, указывающее тип используемого алгоритма управления секциями. Если этот параметр задан true, используется алгоритм, предназначенный для снижения затрат на учетные записи службы хранилища Azure версии 2. Этот параметр доступен начиная с webJobs.Extensions.DurableTask версии 2.10.0. Для использования этого параметра с управляемым удостоверением требуется WebJobs.Extensions.DurableTask версии 3.x или более поздней, или Worker.Extensions.DurableTask версии 1.2.x или более поздней. |
| useGracefulShutdown (использовать плавное завершение) | ложь | (предварительная версия) Значение, указывающее, следует ли завершить работу корректно, чтобы снизить вероятность завершения работы узла, приводящую к сбою выполнения функции в процессе. |
| максимальный размер пакета операций с сущностями |
План потребления: 50 Выделенный или Премиум тариф: 5000 |
Максимальное количество операций с сущностями, которые обрабатываются пакетом. Если это значение равно 1, пакетная обработка отключена, а отдельный вызов функции обрабатывает каждое сообщение операции. Этот параметр доступен начиная с версии 2.6.1. |
| сохранитьВходныеДанныеВОркестрационнойИстории | ложь | Значение, указывающее, как хранить входные данные. Если этот параметр задан true, платформа устойчивых задач сохраняет входные данные активности в таблице истории, а входные данные функции активности отображаются в результатах запроса истории оркестрации. |
| maxGrpcMessageSizeInBytes (максимальный размер сообщения gRPC в байтах) | 4,194,304 | Целочисленное значение, задающее максимальный размер в байтах сообщений, которые может получать универсальный клиент удаленного вызова процедур (gRPC). Реализация DurableTaskClient использует gRPC клиент для управления экземплярами оркестрации. Этот параметр применяется к изолированным рабочим средам Durable Functions .NET и приложениям на Java. |
| grpcHttpClientTimeout (тайм-аут HTTP-клиента gRPC) | 00:01:40 | Время ожидания в формате hh:mm:ss для HTTP-клиента, используемого клиентом gRPC в Durable Functions. Клиент в настоящее время поддерживается для изолированных рабочих приложений .NET (.NET 6 и более поздних версий) и для приложений Java. |
| QueueClientMessageEncoding | UTF8 | Стратегия кодирования сообщений в хранилище Azure Queue Storage. Допустимые стратегии: формат преобразования Юникода—8-разрядный (UTF8) и Base64. Этот параметр применяется при использовании Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 или более поздней версии или Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 или более поздней версии. |
Многие из этих параметров предназначены для оптимизации производительности. Дополнительные сведения см. в статье о производительности и масштабируемости.
EventHub
Параметры конфигурации для триггеров и привязок концентратора событий.
функции
Список функций, которые выполняет хост заданий. Пустой массив означает выполнение всех функций. Предназначен для использования только при локальном запуске. Чтобы отключить определенные функции в приложениях-функциях Azure, выполните следующие действия в разделе Способы отключения функций в решении "Функции Azure" вместо использования этого параметра.
{
"functions": [ "QueueProcessor", "GitHubWebHook" ]
}
functionTimeout
Указывает время ожидания для всех функций. В бессерверных планах потребления допускается диапазон от 1 секунды до 10 минут, а значение по умолчанию — 5 минут. В планах службы приложений время не ограничено и используется значение по умолчанию NULL, что означает отсутствие времени ожидания.
{
"functionTimeout": "00:05:00"
}
монитор здоровья
Параметры конфигурации для монитора работоспособности узла.
{
"healthMonitor": {
"enabled": true,
"healthCheckInterval": "00:00:10",
"healthCheckWindow": "00:02:00",
"healthCheckThreshold": 6,
"counterThreshold": 0.80
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| включено | истина | Указывает, включена ли функция. |
| ИнтервалПроверкиЗдоровья | 10 секунд | Интервал времени между периодическими фоновыми проверками работоспособности. |
| ПроверкаОкноСостояния | 2 минуты | Скользящее окно времени, используемое с параметром healthCheckThreshold . |
| порог проверки состояния | 6 | Максимальное количество сбоев проверки работоспособности, после которых инициируется перезапуск хоста. |
| порог счетчика | 0.80 | Пороговое значение, при достижении которого счетчик производительности будет считаться неработоспособным. |
HTTP
Параметры конфигурации для триггеров и привязок http.
{
"http": {
"routePrefix": "api",
"maxOutstandingRequests": 200,
"maxConcurrentRequests": 100,
"dynamicThrottlesEnabled": true
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| динамическое ограничение включено | ложь | Если этот параметр включен, конвейер обработки запросов периодически проверяет счетчики производительности системы, такие как подключения, потоки, процессы, память/ ЦП и т. д., и если любой из этих счетчиков превышает встроенное пороговое значение (80%), запросы отклоняются с ответом 429 "Слишком занято", пока счетчики не возвращаются к нормальным уровням. |
| максимальное число одновременных запросов | не ограничено (-1) |
Максимальное число HTTP-функций, которые будут выполняться параллельно. Это позволяет регулировать параллелизм, что может помочь в управлении использованием ресурсов. Например, у вас может быть HTTP-функция, использующая много системных ресурсов (памяти, ЦП или сокетов) таким образом, что при слишком высоком параллелизме это вызывает проблемы. Или же функция может выполнять исходящие запросы к сторонней службе, и частоту таких вызовов необходимо ограничить. В таких случаях может помочь применение дросселя. |
| Максимальное количество незавершенных запросов | не ограничено (-1) |
Максимальное число невыполненных запросов, которое хранится в любой отдельно взятый момент времени. Это ограничение включает запросы, которые находятся в очереди, но не начали выполняться, а также любые выполняющиеся процессы. Все входящие запросы, превышающие это ограничение, отклоняются с ответом 429 "Too Busy" (Перегрузка). Это позволяет звонящим использовать временные стратегии повторных попыток, а также помогает вам контролировать максимальные задержки запросов. Этот параметр контролирует только очереди, возникающие в рамках траектории выполнения хоста скриптов. Другие очереди, такие как очередь запросов ASP.NET, останутся в силе и не будут затронуты этой настройкой. |
| префикс маршрута | API | Префикс маршрута, который применяется ко всем маршрутам. Используйте пустую строку, чтобы удалить префикс по умолчанию. |
идентификатор
Уникальный идентификатор для хоста заданий. Это может быть GUID в нижнем регистре с удалёнными дефисами. Необходим для локального запуска. При работе в Azure, мы рекомендуем не задавать значение идентификатора. Идентификатор создается автоматически в Azure, когда id пропускается.
Если вы предоставляете общий доступ к учетной записи хранения для нескольких функциональных приложений, убедитесь, что для каждого из них есть разные id. Вы можете опустить свойство id или вручную задать для id всех приложений-функций разные значения. Для триггера таймера используется блокировка хранилища. Это гарантирует наличие только одного экземпляра таймера, когда приложение-функция масштабируется до нескольких экземпляров. Если два приложения-функции используют одно и то же id, и оба применяют триггер таймера, выполняется только один таймер.
{
"id": "9f4ea53c5136457d883d685e57164f08"
}
логгер
Управляет фильтрацией журналов, которые создаются объектом ILogger или context.log.
{
"logger": {
"categoryFilter": {
"defaultLevel": "Information",
"categoryLevels": {
"Host": "Error",
"Function": "Error",
"Host.Aggregator": "Information"
}
}
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| фильтр категории | Н/Д | Указывает параметры фильтрации по категории. |
| уровень по умолчанию | Информация | Для всех категорий, не указанных в массиве categoryLevels, отправляйте журналы с этого уровня и выше в Application Insights. |
| Уровни категорий | Н/Д | Массив категорий, который определяет минимальный уровень ведения журнала для отправки в Application Insights для каждой категории. Указанная здесь категория управляет всеми категориями, которые начинаются с одного значения, при этом более длинные значения имеют приоритет. В предыдущем примере файла host.json все категории, которые начинаются с "Host.Aggregator", записываются в журнал на уровне Information. Все прочие категории, которые начинаются с "Host", такие как "Host.Executor", логируются на уровне Error. |
очереди
Параметры конфигурации для триггеров и привязок очереди хранилища.
{
"queues": {
"maxPollingInterval": 2000,
"visibilityTimeout" : "00:00:30",
"batchSize": 16,
"maxDequeueCount": 5,
"newBatchThreshold": 8
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| максимальный интервал опроса | 60 000 | Максимальный интервал в миллисекундах между опросами очереди. |
| тайм-аут видимости | 0 | Интервал времени между повторными попытками, когда при обработке сообщения возникает сбой. |
| РазмерПакета | 16 | Количество сообщений очереди, которые среда выполнения функций одновременно получает и обрабатывает в параллельном режиме. Когда число обрабатываемых сообщений достигает newBatchThreshold, среда выполнения получает следующий пакет и начинает обработку содержащихся в нем сообщений. Поэтому максимальное количество сообщений, одновременно обрабатываемых каждой функцией, равно batchSize плюс newBatchThreshold. Это ограничение применяется отдельно к каждой функции, активируемой с помощью очереди. Если вы не хотите, чтобы сообщения из одной очереди обрабатывались параллельно, можно установить для batchSize значение 1. Тем не менее этот параметр позволяет исключить параллелизм только при условии, что приложение-функция выполняется на одной виртуальной машине. Если приложение-функция развернуто на нескольких виртуальных машинах, каждая машина может запускать один экземпляр каждой функции, активируемой с помощью очереди.Максимальное значение batchSize — 32. |
| максимальное количество извлечений | 5 | Число повторных попыток обработки сообщения, прежде чем поместить его в очередь подозрительных сообщений. |
| newBatchThreshold | batchSize/2 | Каждый раз, когда количество сообщений, обрабатываемых параллельно, достигает этого числа, среда выполнения получает другой пакет. |
SendGrid
Параметры конфигурации для выходного связывания SendGrind
{
"sendGrid": {
"from": "Contoso Group <[email protected]>"
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| от / из / с (context-dependent) | Н/Д | Адрес электронной почты отправителя для всех функций. |
ServiceBus
Параметр конфигурации для триггеров и привязок служебной шины.
{
"serviceBus": {
"maxConcurrentCalls": 16,
"prefetchCount": 100,
"autoRenewTimeout": "00:05:00",
"autoComplete": true
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| максимальное количество одновременных вызовов | 16 | Максимальное число параллельных обратных вызовов, которые должен инициировать цикл обработки сообщений. По умолчанию среда выполнения Azure Functions обрабатывает несколько сообщений одновременно. Чтобы среда выполнения обрабатывала в любой момент времени только одно сообщение очереди или раздела, для свойства maxConcurrentCalls нужно задать значение 1. |
| количество предварительных выборок | Н/Д | Значение PrefetchCount по умолчанию, которое будет использоваться базовым ServiceBusReceiver. |
| Автоматическое время ожидания обновления | 00:05:00 | Максимальный период времени, в течение которого блокировка сообщения будет продлеваться автоматически. |
| автозаполнение | истина | Когда значение true, триггер автоматически завершает обработку сообщений при успешном выполнении операции. Если значение false, функция должна завершить обработку сообщения перед возвратом. |
синглтон
Параметры конфигурации поведения блокировки синглтона. Для получения дополнительной информации см. вопрос на GitHub о поддержке одиночного экземпляра.
{
"singleton": {
"lockPeriod": "00:00:15",
"listenerLockPeriod": "00:01:00",
"listenerLockRecoveryPollingInterval": "00:01:00",
"lockAcquisitionTimeout": "00:01:00",
"lockAcquisitionPollingInterval": "00:00:03"
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| период блокировки | 00:00:15 | Период времени, на который применяются блокировки уровня функциональности. Эти блокировки возобновляются автоматически. |
| Период блокировки слушателя | 00:01:00 | Период времени, на который применяются блокировки прослушивателя. |
| интервал опроса восстановления блокировки слушателя | 00:01:00 | Интервал времени, используемый для восстановления блокировки прослушивателя, если блокировку прослушивателя не удалось получить при запуске. |
| lockAcquisitionTimeout | 00:01:00 | Предел времени, в течение которого среда выполнения пытается получить блокировку. |
| lockAcquisitionPollingInterval | Н/Д | Интервал между попытками получения блокировки. |
отслеживание.
Версия 1.x
Параметры конфигурации для журналов, создаваемых с помощью объекта TraceWriter. Подробнее см. в разделе [Ведение журнала C#].
{
"tracing": {
"consoleLevel": "verbose",
"fileLoggingMode": "debugOnly"
}
}
| Свойство | По умолчанию | Описание |
|---|---|---|
| уровень консоли | инфо | Уровень трассировки для логирования консоли. Доступны следующие параметры: off, error, warning, info и verbose. |
| режим журналирования файла | debugOnly | Уровень трассировки для ведения журнала файлов. Доступны следующие параметры: never, always и debugOnly. |
watchDirectory
Набор каталогов общего кода, изменения которого должны отслеживаться. Гарантирует, что если код в этих каталогах изменится, то эти изменения будут применены вашими функциями.
{
"watchDirectories": [ "Shared" ]
}