Параметры устойчивых функций в host.json

Настройте параметры Устойчивые функции в файле host.json для управления поведением центра задач, поставщиками хранилища и параметрами производительности для приложения Функции Azure. Сведения об общих параметрах в host.jsonсм. в host.json справочнике по функциям Azure 1.x или host.json справочнике по функциям Azure 2.x и более поздних версий.

Параметры конфигурации для Устойчивые функции.

Note

Все основные версии Устойчивые функции поддерживаются во всех версиях среды выполнения Функции Azure. Однако схема конфигурации host.json немного отличается в зависимости от версии среды выполнения Функции Azure и используемой версии расширения Устойчивые функции.

Следующий код содержит два примера параметров durableTask в host.json: один для Устойчивые функции 2.x и один для Устойчивые функции 1.x. Вы можете использовать оба примера с функциями Azure 2.0 и 3.0. При использовании Функции Azure 1.0 доступные параметры одинаковы, но раздел durableTask расположен в корне конфигурации host.json, а не является полем в разделе .

{
 "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,
    },
    "httpSettings":{
      "defaultAsyncRequestSleepTimeMilliseconds": 30000,
      "useForwardedHost": 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
  }
 }
}
Property Значение по умолчанию Description
имя узла TestHubName (DurableFunctionsHub в версии 1.x) Имя концентратора, в который хранится текущее состояние приложения-функции. Имена центров задач должны начинаться с буквы и содержать только буквы и цифры. Если имя не указано, используется значение по умолчанию. Альтернативные имена концентраторов задач можно использовать для изоляции нескольких приложений Устойчивые функции друг от друга, даже если они используют одну и ту же серверную часть хранилища. Для получения дополнительной информации см. раздел Центры задач.
версия по умолчанию Версия по умолчанию для присваивания новым экземплярам оркестрации. При указании версии новые экземпляры оркестрации навсегда связаны с этим значением версии. Этот параметр используется функцией оркестрации версий для включения таких сценариев, как развертывания без времени простоя с критическими изменениями. Для версии можно использовать любое строковое значение.
стратегияСопоставленияВерсий ТекущееИлиСтарше Значение, определяющее, как осуществляется сопоставление версий оркестрации при загрузке функций оркестратора. Допустимые значения: None, Strict и CurrentOrOlder. Подробные объяснения см. в разделе "Управление версиями".
Стратегия обработки отказов версий Reject Значение, указывающее, что происходит, если версия оркестрации не соответствует текущему defaultVersion значению. Допустимые значения — Reject и Fail. Подробные объяснения см. в разделе "Управление версиями".
controlQueueBatchSize 32 Количество сообщений, которые нужно извлечь из очереди управления за раз.
контрольный порог буфера очереди План потребления для Python: 32
План потребления для других языков: 128
Выделенный или премиум план: 256
Количество сообщений очереди управления, которые можно буферизовать в памяти одновременно. По достижении указанного числа диспетчер ожидает, прежде чем удалить другие сообщения из очереди. В некоторых ситуациях снижение этого значения может значительно снизить потребление памяти.
partitionCount 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 (проследитьВходыИВыходы) false Значение, указывающее, следует ли отслеживать входные и выходные данные вызовов функций. При трассировке событий выполнения функции поведение по умолчанию заключается в том, чтобы включить количество байтов в сериализованные входные и выходные данные для вызовов функций. Это поведение обеспечивает минимальную информацию о входных и выходных данных, чтобы не перегружать журналы или непреднамеренно раскрывать конфиденциальную информацию. Если это свойство имеет значение true, все содержимое входных и выходных данных функции регистрируется.
отслеживание событий воспроизведения false Значение, указывающее, следует ли записывать события воспроизведения оркестрации в Application Insights.
logReplayEvents false Значение, указывающее, следует ли регистрировать повторяющиеся выполнения в журналах приложений.
eventGridTopicEndpoint URL-адрес конечной точки настраиваемой темы в Сетка событий Azure. При установке этого свойства события уведомления жизненного цикла оркестрации публикуются в этой конечной точке. Это свойство поддерживает настройку параметров приложения.
ИмяНастройкиКлючаEventGrid Имя настройки приложения, содержащей ключ, используемый для проверки подлинности с помощью настраиваемого раздела Event Grid по EventGridTopicEndpoint URL-адресу.
Количество попыток повторной публикации в eventGrid 0 Число повторных попыток, если публикация в сетке событий выполняется неудачно.
ИнтервалПовторнойПопыткиПубликацииEventGrid 00:05:00 Интервал публикации и повтора в Event Grid в формате hh:mm:ss.
eventGridPublishEventTypes Список типов событий для публикации в Сетке событий. Если вы не указываете какие-либо типы, публикуются все типы событий. Допустимые значения: Started, Completedи FailedTerminated.
extendedSessionsEnabled false Значение, указывающее, кэшируются ли сеансы оркестратора и сеансы функций сущностей.
extendedSessionIdleTimeoutInSeconds (время простоя продленной сессии в секундах) 30 Количество секунд, в течение которых бездействующий оркестратор или функция сущности остается в памяти перед выгрузкой. Этот параметр используется только в том случае, если параметр extendedSessionsEnabled установлен как true.
useAppLease истина Значение, указывающее, необходимо ли приложениям получать аренду блоб-объекта для приложений перед обработкой сообщений концентратора задач. Дополнительные сведения см. в разделе «Аварийное восстановление и геораспределение в Устойчивые функции». Этот параметр доступен начиная с версии 2.3.0.
использовать устаревшее управление разделами false Значение, указывающее тип используемого алгоритма управления секциями. При использовании этого параметра falseиспользуется алгоритм, который снижает вероятность дублирования выполнения функции при масштабировании. Этот параметр доступен начиная с версии 2.3.0. Не рекомендуется задавать это значениеtrue.
использовать управление разделением таблицы В версии 3.x: true
В версии 2.x: false
Значение, указывающее тип используемого алгоритма управления секциями. Если этот параметр имеет значение true, используется алгоритм, предназначенный для снижения затрат на учетные записи служба хранилища Azure v2. Этот параметр доступен начиная с webJobs.Extensions.DurableTask версии 2.10.0. Для использования этого параметра с управляемым удостоверением требуется WebJobs.Extensions.DurableTask версии 3.x или более поздней, или Worker.Extensions.DurableTask версии 1.2.x или более поздней.
useGracefulShutdown (использовать плавное завершение) false (предварительная версия) Значение, указывающее, следует ли корректно завершить работу, чтобы снизить вероятность сбоя выполнения функций в процессе, вызванного завершением работы узла.
maxEntityOperationBatchSize (максимальный размер партии операций с сущностями) План потребления: 50
Выделенный или Премиум тариф: 5000
Максимальное количество операций с сущностями, обрабатываемых в виде пакета. Если это значение равно 1, пакетная обработка отключена, а отдельный вызов функции обрабатывает каждое сообщение операции. Этот параметр доступен начиная с версии 2.6.1.
сохранитьВходныеДанныеВОркестрационнойИстории false Значение, указывающее, как хранить входные данные. Если этот параметр задан true, платформа устойчивых задач сохраняет входные данные активности в таблице истории, а входные данные функции активности отображаются в результатах запроса истории оркестрации.
maxGrpcMessageSizeInBytes (максимальный размер сообщения gRPC в байтах) 4,194,304 Целочисленное значение, задающее максимальный размер в байтах сообщений, которые может получать универсальный клиент удаленного вызова процедур (gRPC). DurableTaskClient Реализация использует клиент gRPC для управления экземплярами оркестрации. Этот параметр применяется к изолированным рабочим средам Устойчивые функции .NET и приложениям на Java.
grpcHttpClientTimeout (тайм-аут HTTP-клиента gRPC) 00:01:40 Время ожидания в формате hh:mm:ss для HTTP-клиента, используемого клиентом gRPC в Устойчивые функции. В настоящее время клиент поддерживается для изолированных рабочих приложений .NET (версии .NET 8 и новее) и для Java-приложений.
Кодирование сообщений клиента в очереди UTF8 Стратегия кодирования сообщений Хранилище очередей Azure. Допустимые стратегии: формат преобразования Юникода—8-разрядный (UTF8) и Base64. Этот параметр применяется при использовании Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 или более поздней версии или Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 или более поздней версии.
defaultAsyncRequestSleepTimeMilliseconds (время сна асинхронного запроса по умолчанию в миллисекундах) 30000 Интервал опроса по умолчанию в миллисекундах для асинхронных API HTTP. Когда клиент опрашивает состояние длительной оркестрации с помощью конечной точки запроса состояния HTTP, это значение определяет, сколько времени клиент должен ждать, прежде чем отправить новый запрос.
использоватьForwardedHost false Если задано значение true, расширение использует заголовки X-Forwarded-Host и X-Forwarded-Proto для создания URL-адресов в ответах HTTP.

Многие из этих параметров предназначены для оптимизации производительности. Дополнительные сведения см. в статье о производительности и масштабируемости.

Дальнейшие действия