在单租户 Azure 逻辑应用中编辑标准逻辑应用的主机和应用设置

适用于:Azure 逻辑应用(标准)

在单租户 Azure 逻辑应用中,标准逻辑应用的应用设置指定会影响该逻辑应用中所有工作流的全局配置选项。 但是,这些设置仅在这些工作流在本地开发环境中运行时适用 。 在本地运行的工作流可以将这些应用设置作为本地环境变量来访问,本地开发工具将这些变量用于可能经常在环境之间更改的值。 例如,这些值可以包含连接字符串。 部署到 Azure 时,应用设置将被忽略并且不包含在部署中。

逻辑应用还具有主机设置,这些设置指定用于该逻辑应用中所有工作流的运行时配置设置和值,例如吞吐量、容量、数据大小等的默认值,无论它们是在本地运行还是在 Azure 中运行 。

应用设置、参数和部署

在多租户 Azure 逻辑应用中,部署依赖于 Azure 资源管理器模板(ARM 模板),这些模板组合并处理逻辑应用和基础结构的资源预配。 当需要维护各种不同的开发、测试和生产环境中的逻辑应用的环境变量时,这种设计会带来困难。 ARM 模板中的所有内容都是在部署时定义的。 如果只需更改单个变量,必须重新部署所有内容。

在单租户 Azure 逻辑应用中,部署会容易一些,因为可以将应用与基础结构的资源预配相分离。 可以使用参数来抽象化可能在环境之间发生更改的值。 通过定义工作流中使用的参数,可以先专注于工作流的设计,然后稍后插入特定于环境的变量。 可以使用应用设置和参数在运行时调用和引用环境变量。 这样,就不必经常重新部署。

应用设置与 Azure Key Vault 集成。 可以直接引用安全字符串,例如连接字符串和密钥。 与 Azure 资源管理器模板(ARM 模板)类似,可以在部署时定义环境变量,可以在逻辑应用工作流定义中定义应用设置。 然后,可以捕获动态生成的基础结构值,例如连接终结点、存储字符串等。 但是,应用设置具有大小限制,无法从 Azure 逻辑应用中的某些区域引用。

注意

如果使用 Key Vault,请确保仅存储密码、凭据和证书等机密。 在逻辑应用工作流中,不要使用 Key Vault 来存储工作流设计器需要调用的非机密值,例如 URL 路径。 设计器不能对引用 Key Vault 资源类型的应用设置取消引用,这会导致错误和调用失败。 对于非机密值,请将它们直接存储在应用设置中。

有关设置逻辑应用以进行部署的详细信息,请参阅以下文档:

Visual Studio Code 项目结构

在 Visual Studio Code 中,逻辑应用项目具有以下类型之一:

  • 基于扩展捆绑包 (Node.js)(默认类型)
  • 基于 NuGet 包 (.NET)(可从默认类型转换)

根据这些类型,项目包含略有不同的文件夹和文件。 基于 NuGet 的项目包含一个 .bin 文件夹,其中包含包和其他库文件。 基于捆绑包的项目不包括 .bin 文件夹和其他文件。 某些场景需要基于 NuGet 的项目以运行应用,例如,在想要开发和运行自定义内置操作时。 有关将项目转换为使用 NuGet 的详细信息,请参阅启用内置连接器创作

默认的基于捆绑包的项目具有类型于以下示例的文件夹和文件结构:

MyBundleBasedLogicAppProjectName
| .vscode
| Artifacts
  || Maps 
     ||| MapName1
     ||| ...
  || Schemas
     ||| SchemaName1
     ||| ...
| WorkflowName1
  || workflow.json
  || ...
| WorkflowName2
  || workflow.json
  || ...
| workflow-designtime
| .funcignore
| connections.json
| host.json
| local.settings.json

你可以在项目的根级别找到包含其他项的以下文件和文件夹:

名称 文件夹或文件 说明
.vscode 文件夹 包含与 Visual Studio Code 相关的设置文件,如 extensions.json、launch.json、settings.json 和 tasks.json 文件 。
项目 文件夹 包含在支持企业对企业 (B2B) 场景的工作流中定义和使用的集成帐户项目。 例如,示例结构包含用于 XML 转换和验证操作的映射和架构。
<WorkflowName> 文件夹 对于每个工作流,<WorkflowName> 文件夹包含 workflow.json 文件,其中包含该工作流的基础 JSON 定义。
workflow-designtime 文件夹 包含与开发环境相关的设置文件。
.funcignore 文件 包含与已安装的 Azure Functions Core Tools 相关的信息。
connections.json 文件 包含工作流使用的用于任何托管连接和 Azure 函数的元数据、终结点和密钥。

重要说明:若要在各种环境中使用不同的连接和函数,请确保实现此 connections.js 文件的参数化并更新终结点。
host.json 文件 包含特定于运行时的配置设置和值,例如,单租户 Azure 逻辑应用平台、逻辑应用、工作流、触发器和操作的默认限制。 在逻辑应用项目的根级别,host.json 元数据文件包含配置设置和默认值,相同逻辑应用中的所有工作流会在运行时(无论是在本地还是在 Azure 中)使用这些配置设置和默认值。

注意:创建逻辑应用时,Visual Studio Code 会在存储容器中创建一个备份 host.snapshot.*.json 文件 。 如果你删除逻辑应用,此备份文件不会被删除。 如果你创建另一个同名的逻辑应用,系统会创建另一个快照文件。 对于同一逻辑应用,最多只能有 10 个快照。 如果超出限制,你将收到以下错误:

Microsoft.Azure.WebJobs.Script.WebHost: Repository has more than 10 non-decryptable secrets backups (host))

若要解决此错误,请从存储容器中删除额外的快照文件。
local.settings.json 文件 包含工作流在本地运行时使用的应用设置、连接字符串和其他设置。 换句话说,这些设置和值仅在本地开发环境中运行项目时适用。 在部署到 Azure 期间,文件和设置将被忽略,并且不包含在部署中。

此文件会将设置和值存储为本地环境变量,本地开发工具会将其用作 appSettings 值。 可以通过使用“应用设置”和“参数”在运行时和部署时调用和引用这些环境变量 。

重要说明:local.settings.json 包含机密,因此请确保从项目源代码理管理中排除此文件。

应用设置参考 - local.settings.json

在 Visual Studio Code 中逻辑应用项目的根级别,local.settings.json 文件包含全局配置选项,在本地开发环境中运行时这些选项会影响该逻辑应用中的所有工作流。 当工作流在本地运行时,系统将这些设置作为本地环境变量进行访问,并且它们的值通常在运行工作流的各种环境中会有所不同。 若要查看和管理这些设置,请查看管理应用设置 - local.settings.json

Azure 逻辑应用中的应用设置的作用方式与 Azure Functions 或 Azure Web 应用中的应用设置的作用方式类似。 如果你以前使用过这些其他服务,可能已熟悉应用设置。 有关详细信息,请查看 Azure Functions 的应用设置参考使用 Azure Functions Core Tools - 本地设置文件

设置 默认值 说明
AzureWebJobsStorage 设置 Azure 存储帐户的连接字符串。 有关详细信息,请参阅 AzureWebJobsStorage
FUNCTIONS_WORKER_RUNTIME node 设置语言辅助角色运行时以与逻辑应用资源和工作流一起使用。 但是,由于系统会自动启用多语言支持,因此不再需要此设置。

有关详细信息,请参阅 FUNCTIONS_WORKER_RUNTIME
ServiceProviders.Sftp.FileUploadBufferTimeForTrigger 00:00:20
(20 秒)
设置缓冲区时间,表示将忽略上次修改时间戳大于当前时间的文件。 如果大型文件写入需要很长时间并避免为部分写入的文件提取数据,则此设置非常有用。
ServiceProviders.Sftp.OperationTimeout 00:02:00
(2 分钟)
设置在判断任何操作超时之前要等待的时间。
ServiceProviders.Sftp.ServerAliveInterval 00:30:00
(30 分钟)
如果在指定时间段内未与服务器进行数据交换,则会发送“保持活动状态”消息,以使 SSH 连接保持活动状态。
ServiceProviders.Sftp.SftpConnectionPoolSize 2 连接 设置每个处理器可以缓存的连接数。 可以缓存的总连接数是 ProcessorCount 乘以设置值。
ServiceProviders.MaximumAllowedTriggerStateSizeInKB 10 KB,即大约 1,000 个文件 设置触发器状态实体大小(以 KB 为单位),该大小与受监视文件夹中的文件数成正比,用于检测文件。 如果文件数超过 1,000,请增大此值。
ServiceProviders.Sql.QueryTimeout 00:02:00
(2 分钟)
设置 SQL 服务提供程序操作的请求超时值。
TARGET_BASED_SCALING_ENABLED 1 将 Azure 逻辑应用设置为使用基于目标的缩放 (1) 或增量缩放 (0)。 默认情况下,会自动启用基于目标的缩放。 有关详细信息,请参阅基于目标的缩放
WEBSITE_LOAD_ROOT_CERTIFICATES 设置受信任的根证书的指纹。
Workflows.Connection.AuthenticationAudience 设置要对托管(Azure 托管)连接进行身份验证的访问群体。
Workflows.CustomHostName 设置用于工作流和输入-输出 URL 的主机名,例如“logic.contoso.com”。 有关配置自定义 DNS 名称的信息,请参阅将现有的自定义 DNS 名称映射到 Azure 应用服务在 Azure 应用服务中使用 TLS/SSL 绑定保护自定义 DNS 名称
Workflows.<workflowName>.FlowState 设置 <workflowName> 的状态。
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays 设置保留 <workflowName> 的运行历史记录的时间长度(以天为单位)。
Workflows.RuntimeConfiguration.RetentionInDays 90 设置运行开始后保留工作流运行历史记录的时间长度(以天为单位)。
Workflows.WebhookRedirectHostUri 设置用于 Webhook 回调 URL 的主机名。

管理应用设置 - local.settings.json

若要添加、更新或删除应用设置,请选择并查看 Azure 门户、Visual Studio Code、Azure CLI 或 ARM (Bicep) 模板的以下部分。 有关特定于逻辑应用的应用设置,请查看可用应用设置的参考指南 - local.settings.json

在门户中查看应用设置
  1. Azure 门户搜索框中,找到并打开你的逻辑应用。

  2. 在逻辑应用菜单中,在“设置”下选择“环境变量”

  3. 在“环境变量”页上的“应用设置”选项卡上,查看逻辑应用的应用设置

    有关这些设置的详细信息,请查看可用应用设置的参考指南 - local.settings.json

  4. 若要查看所有值,请选择“显示值”。 或者,若要查看单个值,请在 Value 列中,选择值旁边的“eye”

在门户中添加应用设置
  1. 在“应用设置”选项卡上,在列表底部的 Name 列中,输入新设置的键或名称

  2. 对于“值”,输入新设置的值。

  3. 准备好创建新的键值对时,请选择“应用”

    屏幕截图显示了 Azure 门户,其中包含标准逻辑应用资源的应用设置页和值。

主机设置参考 - host.json

在 Visual Studio Code 中逻辑应用项目的根级别,host.json 元数据文件包含运行时设置和默认值,这些设置将用于逻辑应用资源中的所有工作流,无论是在本地运行还是 Azure 中运行。 若要查看和管理这些设置,请查看管理主机设置 - host.json。 若要了解相关限制的信息,请参阅 Azure 逻辑应用的限制和配置文档。

作业业务流程吞吐量

这些设置会影响单租户 Azure 逻辑应用运行工作流操作时的吞吐量和容量。

设置 默认值 说明
Jobs.BackgroundJobs.DispatchingWorkersPulseInterval 00:00:01
(1 秒)
设置作业调度程序在上一次轮询未返回任何作业时对作业队列的轮询时间间隔。 作业调度程序会在上一个轮询返回作业时立即轮询队列。
Jobs.BackgroundJobs.NumPartitionsInJobDefinitionsTable 4 个作业分区 设置作业定义表中的作业分区数。 此值控制分区存储限制会影响多少执行吞吐量。
Jobs.BackgroundJobs.NumPartitionsInJobTriggersQueue 1 个作业队列 设置作业调度程序针对要处理的作业所监视的作业队列数。 此值还会影响作业队列所在的存储分区数量。
Jobs.BackgroundJobs.NumWorkersPerProcessorCount 192 调度程序辅助角色实例 设置每个处理器核心要具有的调度程序辅助角色实例数或作业调度程序数 。 此值影响每个核心的工作流运行数。
Jobs.BackgroundJobs.StatelessNumWorkersPerProcessorCount 192 调度程序辅助角色实例 设置每个处理器核心、每个无状态运行要具有的调度程序辅助角色实例数或作业调度程序数。 此值会影响每个运行处理的并发工作流操作数。

以下两个设置都用于手动停止并立即删除标准逻辑应用中的指定工作流。

注意

请谨慎使用这些设置,并且仅在非生产环境(例如负载或性能测试环境)中使用,因为无法撤消这些操作或从这些操作中恢复。

设置 默认值 说明
Jobs.CleanupJobPartitionPrefixes 立即删除指定工作流的所有运行作业。
Jobs.SuspendedJobPartitionPartitionPrefixes 停止指定工作流的运行作业。

以下示例显示了这些设置的语法,其中每个工作流 ID 后跟一个冒号 (:),并用分号 (;) 分隔:

"Jobs.CleanupJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2:",
"Jobs.SuspendedJobPartitionPrefixes": "<workflow-ID-1>:; <workflow-ID-2>:"

基于目标的缩放

使用单租户 Azure 逻辑应用可以选择首选的计算资源,并设置逻辑应用资源,以便根据不同的工作负荷需求进行动态缩放。 Azure 逻辑应用使用的基于目标的缩放模型包括可用于微调模型的基础动态缩放机制的设置,这可能导致更短的横向扩展和横向缩减时间。 有关基于目标的缩放模型的详细信息,请参阅在单租户 Azure 逻辑应用中基于目标缩放标准工作流

注意事项

  • 对于在应用服务环境或消耗计划上运行的标准工作流,基于目标的缩放不可用或不受支持。

  • 如果有横向缩减请求但没有任何横向扩展请求,Azure 逻辑应用将使用最大横向缩减值。 基于目标的缩放可以更快地纵向缩减未使用的辅助角色实例,从而提高资源使用率。

要求

host.json 中基于目标的缩放设置

设置 默认值 说明
Runtime.TargetScaler.TargetConcurrency null 每个辅助角色实例的目标执行数。 默认情况下,该值为 null。 如果保留此值不变,则逻辑应用默认使用动态并发。 可以使用此设置为并发作业轮询设置目标最大值。 有关示例,请参阅本表后面的部分。
Runtime.TargetScaler.TargetScalingCPU 70 预期的目标并发的最大 CPU 使用率百分比。 可以使用此设置更改每个逻辑应用的此默认百分比。 有关示例,请参阅本表后面的部分。
Runtime.TargetScaler.TargetScalingFactor 0.3 一个介于 0.051.0 之间的数值,用于确定缩放强度。 目标缩放因子越高,缩放越显著。 目标缩放因子越低,缩放越不显著。 可以使用此设置微调每个逻辑应用的目标缩放因子。 有关示例,请参阅本表后面的部分。
TargetConcurrency 示例
{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetConcurrency": "280"
         }
      }
   }
}

TargetScalingCPU 示例

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetScalingCPU": "76"
         }
      }
   }
}
TargetScalingFactor 示例
{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "Settings": {
            "Runtime.TargetScaler.TargetScalingFactor": "0.62"
         }
      }
   }
}

禁用基于目标的缩放

默认情况下,会自动启用基于目标的缩放。 若要选择退出使用基于目标的缩放并恢复为增量缩放,请添加名为 TARGET_BASED_SCALING_ENABLED 的应用设置,并使用 Azure 门户在标准逻辑应用资源中或使用 Visual Studio Code 在逻辑应用项目的 local.settings.json 文件中将该值设置为 0。 有关详细信息,请参阅管理应用设置 - local.settings.json

基于定期的触发器

设置 默认值 说明
Microsoft.Azure.Workflows.ServiceProviders.MaximumAllowedTriggerStateSizeInKB 1 KB 为基于定期的触发器(例如内置 SFTP 触发器)设置触发器状态的最大允许大小。 触发器状态会在多个服务提供程序基于定期的触发器中持续保留数据。

重要提示:根据存储大小,避免将此值设置得过高,这可能会对存储和性能产生负面影响。

触发器并发

以下设置仅适用于以定期触发器开始的工作流,该触发器用于基于服务提供程序的内置连接器。 对于以函数触发器开始的工作流,可以尝试在受支持时设置批处理。 但是,批处理并非始终都是正确的解决方案。 例如,使用 Azure 服务总线触发器时,批处理可能会保留超过锁定持续时间的消息。 因此,出现此类消息时,任何操作(如完成或放弃)都将失败。

设置 默认值 说明
Runtime.Trigger.MaximumRunConcurrency 100 次运行 设置触发器可启动的最大并发运行数。 此值显示在触发器的并发定义中。
Runtime.Trigger.MaximumWaitingRuns 200 次运行 设置并发运行达到最大值后可等待的最大运行数。 此值显示在触发器的并发定义中。 有关详细信息,请参阅更改等待运行限制

运行持续时间和历史记录保留期

设置 默认值 说明
Runtime.Backend.FlowRunTimeout 90.00:00:00
(90 天)
设置在强制执行超时之前工作流可以继续运行的时间长度。 此设置的默认值为 7 天。

重要说明:请确保此值小于或等于名为 Workflows.RuntimeConfiguration.RetentionInDays 的应用设置的值。 否则,运行历史记录可能会在关联的作业完成之前被删除。
Runtime.FlowMaintenanceJob.RetentionCooldownInterval 7.00:00:00
(7 天)
将时间长度(以天为单位)设置为检查和删除不再需要保留的运行历史记录之间的时间间隔。

运行操作

设置 默认值 说明
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 分钟)
设置在超时和重试前工作流操作作业运行的时间。

输入和输出

设置 默认值 说明
Microsoft.Azure.Workflows.TemplateLimits.InputParametersLimit 50 对于通过导出消费逻辑应用创建的标准逻辑应用程序,将跨环境工作流参数的默认限制更改为最多 500 个。
Runtime.ContentLink.MaximumContentSizeInBytes 104857600 字节 设置单个触发器或操作中的输入或输出可包含的最大字节数。
Runtime.FlowRunActionJob.MaximumActionResultSize 209715200 字节 设置单个操作中的组合输入和输出可包含的最大字节数。

分页

设置 默认值 说明
Runtime.FlowRunRetryableActionJobCallback.MaximumPageCount 1000 如果对某个操作支持并启用了分页,则设置在运行时要返回或处理的最大页数。

分块

设置 默认值 说明
Runtime.FlowRunRetryableActionJobCallback.MaximumContentLengthInBytesForPartialContent 1073741824 字节 如果对某个操作支持并启用了分块,则设置下载内容或上传内容的最大字节数。
Runtime.FlowRunRetryableActionJobCallback.MaxChunkSizeInBytes 52428800 字节 如果某个操作支持并启用了分块,则设置每个内容区块的最大字节数。
Runtime.FlowRunRetryableActionJobCallback.MaximumRequestCountForPartialContent 1000 个请求 如果对某个操作支持并启用了分块,则设置每个操作执行可针对下载内容发出的最大请求数。

以内联方式存储内容或使用 Blob

设置 默认值 说明
Runtime.FlowRunEngine.ForeachMaximumItemsForContentInlining 20 For each 循环运行时,每个项的值要么与表存储中的其他元数据以内联方式一起存储,要么单独存储在 Blob 存储中。 设置要与其他元数据以内联方式一起存储的项数。
Runtime.FlowRunRetryableActionJobCallback.MaximumPagesForContentInlining 20 设置在存储到 Blob 存储之前要作为内联内容存储在表存储中的最大页数。
Runtime.FlowTriggerSplitOnJob.MaximumItemsForContentInlining 40 SplitOn 设置将数组项拆分为多个工作流实例,每个项的值要么与表存储中的其他元数据以内联方式一起存储,要么单独存储在 Blob 存储中。 设置要以内联方式存储的项数。
Runtime.ScaleUnit.MaximumCharactersForContentInlining 8192 个字符 设置在存储到 Blob 存储之前要以内联方式存储在表存储中的最大操作输入和输出字符数。

For each 循环

设置 默认值 说明
Runtime.Backend.FlowDefaultForeachItemsLimit 100000 数组项数 对于有状态工作流,设置 For each 循环中要处理的最大数组项数。
Runtime.Backend.FlowDefaultSplitOnItemsLimit 100000 数组项数 根据 SplitOn 设置,设置要分解或拆分为多个工作流实例的最大数组项数。
Runtime.Backend.ForeachDefaultDegreeOfParallelism 20 次迭代 设置 For each 循环中的默认并发迭代次数或默认并行度。 若要按顺序运行,将值设置为 1
Runtime.Backend.Stateless.FlowDefaultForeachItemsLimit 100 对于无状态工作流,设置 For each 循环中要处理的最大数组项数。

Until 循环

设置 默认值 说明
Runtime.Backend.MaximumUntilLimitCount 5000 次迭代 对于有状态工作流,设置 Until 操作中 Count 属性的最大可能数。
Runtime.Backend.Stateless.FlowRunTimeout 00:05:00
(5 分钟)
设置无状态工作流中 Until 循环的最长等待时间。
Runtime.Backend.Stateless.MaximumUntilLimitCount 100 次迭代 对于无状态工作流,设置 Until 操作中 Count 属性的最大可能数。

变量

设置 默认值 说明
Runtime.Backend.DefaultAppendArrayItemsLimit 100000 数组项数 设置数组类型的变量中的最大项数。
Runtime.Backend.VariableOperation.MaximumStatelessVariableSize 无状态工作流:1024 个字符 当在无状态工作流中使用时,设置变量可存储的内容的最大字符数。
Runtime.Backend.VariableOperation.MaximumVariableSize 有状态工作流:104857600 个字符 当在有状态工作流中使用时,设置变量可存储的内容的最大字符数。

内置 HTTP 操作

设置 默认值 说明
Runtime.Backend.HttpOperation.DefaultRetryCount 4 次重试 设置 HTTP 触发器和操作的默认重试次数。
Runtime.Backend.HttpOperation.DefaultRetryInterval 00:00:07
(7 秒)
设置 HTTP 触发器和操作的默认重试间隔。
Runtime.Backend.HttpOperation.DefaultRetryMaximumInterval 01:00:00
(1 小时)
设置 HTTP 触发器和操作的最大重试间隔。
Runtime.Backend.HttpOperation.DefaultRetryMinimumInterval 00:00:05
(5 秒)
设置 HTTP 触发器和操作的最小重试间隔。
Runtime.Backend.HttpOperation.MaxContentSize 104857600 字节 仅设置 HTTP 操作(而不是触发器)的最大请求大小(以字节为单位)。 有关详细信息,请参阅限制
Runtime.Backend.HttpOperation.RequestTimeout 00:03:45
(3 分 45 秒)

注意:默认值也是最大值。
设置 HTTP 触发器和操作的请求超时值。

内置 HTTP Webhook 操作

设置 默认值 说明
Runtime.Backend.HttpWebhookOperation.DefaultRetryCount 4 次重试 设置 HTTP Webhook 触发器和操作的默认重试次数。
Runtime.Backend.HttpWebhookOperation.DefaultRetryInterval 00:00:07
(7 秒)
设置 HTTP Webhook 触发器和操作的默认重试间隔。
Runtime.Backend.HttpWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 小时)
设置 HTTP Webhook 触发器和操作的最大重试间隔。
Runtime.Backend.HttpWebhookOperation.DefaultRetryMinimumInterval 00:00:05
(5 秒)
设置 HTTP Webhook 触发器和操作的最小重试间隔。
Runtime.Backend.HttpWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 小时)
设置 HTTP Webhook 触发器和操作作业的默认唤醒间隔。
Runtime.Backend.HttpWebhookOperation.MaxContentSize 104857600 字节 仅设置 HTTP Webhook 操作(而不是触发器)的最大请求大小(以字节为单位)。 有关详细信息,请参阅限制
Runtime.Backend.HttpWebhookOperation.RequestTimeout 00:02:00
(2 分钟)
设置 HTTP Webhook 触发器和操作的请求超时值。

内置 Azure 存储操作

Blob 存储

设置 默认值 说明
Microsoft.Azure.Workflows.ContentStorage.RequestOptionsThreadCount 设置 Blob 上传和下载操作的线程计数。 可以使用此设置强制 Azure 逻辑应用运行时在从操作输入和输出上传和下载内容时使用多个线程。
Runtime.ContentStorage.RequestOptionsDeltaBackoff 00:00:02
(2 秒)
设置发送到 Blob 存储的重试之间的回退间隔。
Runtime.ContentStorage.RequestOptionsMaximumAttempts 4 次重试 设置发送到表和队列存储的最大重试次数。
Runtime.ContentStorage.RequestOptionsMaximumExecutionTime 00:02:00
(2 分钟)
为来自 Azure 逻辑应用运行时的 blob 请求设置操作超时值(包括重试数)。
Runtime.ContentStorage.RequestOptionsServerTimeout 00:00:30
(30 秒)
设置来自 Azure 逻辑应用运行时的 Blob 请求的超时值。

表和队列存储

设置 默认值 说明
Runtime.DataStorage.RequestOptionsDeltaBackoff 00:00:02
(2 秒)
设置向表和队列存储发送时的重试之间的回退间隔时间。
Runtime.DataStorage.RequestOptionsMaximumAttempts 4 次重试 设置向表和队列存储发送时的最大重试次数。
Runtime.DataStorage.RequestOptionsMaximumExecutionTime 00:00:45
(45 秒)
为来自 Azure 逻辑应用运行时的表和队列存储请求设置操作超时值(包括重试数)。
Runtime.DataStorage.RequestOptionsServerTimeout 00:00:16
(16 秒)
设置来自 Azure 逻辑应用运行时的表和队列存储请求的超时值。

文件共享

设置 默认值 说明
ServiceProviders.AzureFile.MaxFileSizeInBytes 150000000 字节 设置 Azure 文件共享的最大文件大小(以字节为单位)。

内置 Azure Functions 操作

设置 默认值 说明
Runtime.Backend.FunctionOperation.RequestTimeout 00:03:45
(3 分 45 秒)
设置 Azure Functions 操作的请求超时值。
Runtime.Backend.FunctionOperation.MaxContentSize 104857600 字节 设置 Azure Functions 操作的最大请求大小(以字节为单位)。 有关详细信息,请参阅限制
Runtime.Backend.FunctionOperation.DefaultRetryCount 4 次重试 设置 Azure Functions 操作的默认重试次数。
Runtime.Backend.FunctionOperation.DefaultRetryInterval 00:00:07
(7 秒)
设置 Azure Functions 操作的默认重试间隔。
Runtime.Backend.FunctionOperation.DefaultRetryMaximumInterval 01:00:00
(1 小时)
设置 Azure Functions 操作的最大重试间隔。
Runtime.Backend.FunctionOperation.DefaultRetryMinimumInterval 00:00:05
(5 秒)
设置 Azure Functions 操作的最小重试间隔。

内置 Azure 服务总线操作

设置 默认值 说明
ServiceProviders.ServiceBus.MessageSenderOperationTimeout 00:01:00
(1 分钟)
设置使用内置服务总线操作发送消息的超时值。
Runtime.ServiceProviders.ServiceBus.MessageSenderPoolSizePerProcessorCount 64 个消息发送程序 设置要在消息发送程序池中使用的每个处理器核心的 Azure 服务总线消息发送程序数。

内置 SFTP 操作

设置 默认值 说明
Runtime.ServiceProviders.Sftp.MaxFileSizeInBytes 2147483648 字节 设置“获取文件内容 (V2)”操作的最大文件大小(以字节为单位)。
Runtime.ServiceProviders.Sftp.MaximumFileSizeToReadInBytes 209715200 字节 设置“获取文件内容”操作的最大文件大小(以字节为单位)。 请确保此值不超过可引用内存大小,因为此操作会读取内存中的文件内容。

托管连接器操作

设置 默认值 说明
Runtime.Backend.ApiConnectionOperation.RequestTimeout 00:02:00
(2 分钟)
设置托管 API 连接器触发器和操作的请求超时值。
Runtime.Backend.ApiConnectionOperation.MaxContentSize 104857600 字节 设置托管 API 连接器触发器和操作的最大请求大小(以字节为单位)。 有关详细信息,请参阅限制
Runtime.Backend.ApiConnectionOperation.DefaultRetryCount 4 次重试 设置托管 API 连接器触发器和操作的默认重试次数。
Runtime.Backend.ApiConnectionOperation.DefaultRetryInterval 00:00:07
(7 秒)
设置托管 API 连接器触发器和操作的默认重试间隔。
Runtime.Backend.ApiWebhookOperation.DefaultRetryMaximumInterval 01:00:00
(1 天)
设置托管 API 连接器 Webhook 触发器和操作的最大重试间隔时间。
Runtime.Backend.ApiConnectionOperation.DefaultRetryMinimumInterval 00:00:05
(5 秒)
设置托管 API 连接器触发器和操作的最小重试间隔。
Runtime.Backend.ApiWebhookOperation.DefaultWakeUpInterval 01:00:00
(1 天)
设置托管 API 连接器 Webhook 触发器和操作作业的默认唤醒间隔。

所有其他操作的重试策略

设置 默认值 说明
Runtime.ScaleMonitor.MaxPollingLatency 00:00:30
(30 秒)
设置运行时缩放的最大轮询延迟。
Runtime.Backend.Operation.MaximumRetryCount 90 次重试 设置工作流操作的重试策略定义中的最大重试次数。
Runtime.Backend.Operation.MaximumRetryInterval 01:00:00:01
(1 天 1 秒)
设置工作流操作的重试策略定义中的最大间隔。
Runtime.Backend.Operation.MinimumRetryInterval 00:00:05
(5 秒)
设置工作流操作的重试策略定义中的最小间隔。

限制

管理主机设置 - host.json

可以添加、更新或删除主机设置,这些设置指定将用于该逻辑应用中所有工作流的运行时配置设置和值,例如吞吐量、容量、数据大小等的默认值,无论它们是在本地运行还是 Azure 中运行 。 有关特定于逻辑应用的主机设置,请查看可用运行时和部署设置的参考指南 - host.json

Azure 门户 - host.json

若要在 Azure 门户中查看基于单租户的逻辑应用的主机设置,请执行以下步骤:

  1. Azure 门户搜索框中,找到并打开你的逻辑应用。

  2. 在逻辑应用菜单上的“开发工具”下,选择“高级工具”。

  3. 在“高级工具”窗格上,选择“转到”,这将打开逻辑应用的 Kudu 环境 。

  4. 在 Kudu 工具栏上,打开“调试控制台”菜单,然后选择“CMD” 。

  5. 在 Azure 门户中,停止你的逻辑应用。

    1. 在逻辑应用菜单中,选择“概述”。

    2. 在“概述”窗格的工具栏上,选择“停止”。

  6. 在逻辑应用菜单上的“开发工具”下,选择“高级工具”。

  7. 在“高级工具”窗格上,选择“转到”,这将为你的逻辑应用打开 Kudu 环境。

  8. 在 Kudu 工具栏上,打开“调试控制台”菜单,并选择“CMD”。

    此时将打开一个控制台窗口,以便你可使用命令提示符浏览到 wwwroot 文件夹。 另外,你可以浏览控制台窗口上方显示的目录结构。

  9. 沿着以下路径浏览到 wwwroot 文件夹:...\home\site\wwwroot

  10. 在控制台窗口上方的目录表中,选择 host.json 文件旁边的“编辑” 。

  11. 打开 host.json 后,查看之前为逻辑应用添加的所有主机设置。

    有关主机设置的详细信息,请查看可用主机设置的参考指南 - host.json

若要添加设置,请执行以下步骤:

  1. 在添加或编辑设置之前,请在 Azure 门户中停止逻辑应用。

    1. 在逻辑应用菜单中,选择“概述”。
    2. 在“概述”窗格的工具栏上,选择“停止”。
  2. 返回到 host.json 文件。 在 extensionBundle 对象下,添加包含 workflowsettings 对象的 extensions 对象,例如:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  3. settings 对象中,添加一个包含要用于逻辑应用中所有工作流的主机设置的简单列表,无论这些工作流是在本地运行还是 Azure 中运行,例如:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    
  4. 完成后,记得选择“保存”。

  5. 现在,重启逻辑应用。 返回到逻辑应用的“概述”页,然后选择“重启” 。

Visual Studio Code - host.json

若要在 Visual Studio Code 中查看逻辑应用的主机设置,请执行以下步骤:

  1. 在逻辑应用项目中的根项目级别,找到并打开 host.json 文件。

  2. extensions 对象中的 workflowssettings 下,查看以前为逻辑应用添加的所有主机设置。 否则 extensions 对象不会出现在文件中。

    有关主机设置的详细信息,请查看可用主机设置的参考指南 - host.json

若要添加主机设置,请执行以下步骤:

  1. 在 host.json 文件中的 extensionBundle 对象下,添加包含 workflowsettings 对象的 extensions 对象,例如:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
             }
          }
       }
    }
    
  2. settings 对象中,添加一个包含要用于逻辑应用中所有工作流的主机设置的简单列表,无论这些工作流是在本地运行还是 Azure 中运行,例如:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle",
          "version": "[1.*, 2.0.0)"
       },
       "extensions": {
          "workflow": {
             "settings": {
                "Runtime.Trigger.MaximumWaitingRuns": "100"
             }
          }
       }
    }
    

后续步骤