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

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

本指南介绍如何在单租户 Azure 逻辑应用中管理标准逻辑应用的运行时和环境设置。

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

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

设置是定义设置名称和值的键值对。

应用设置、参数和部署

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

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

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

注意

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

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

Visual Studio Code 项目结构

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

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

根据这些类型,你的项目可能包含略有不同的文件夹或文件。 例如,基于 Nuget 包的项目具有包含包和其他库文件的.bin 文件夹。 基于扩展捆绑包的项目不包括此 .bin 文件夹。

某些场景需要基于 NuGet 包的项目以运行应用,例如,在想要开发和运行自定义内置操作时。 有关将项目转换为使用 NuGet 的详细信息,请参阅启用内置连接器创作

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

MyWorkspaceName
| MyBundleBasedLogicAppProjectName
  || .vscode
  || Artifacts
     ||| Maps 
         |||| MapName1
         |||| ...
     ||| Rules
     ||| Schemas
         |||| SchemaName1
         |||| ...
  || lib
     ||| builtinOperationSdks
         |||| JAR
         |||| net472
     ||| custom
  || WorkflowName1
     ||| workflow.json
     ||| ...
  || WorkflowName2
     ||| workflow.json
     ||| ...
  || workflow-designtime
     ||| host.json
     ||| local.settings.json
  || .funcignore
  || connections.json
  || host.json
  || local.settings.json

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

名称 文件夹或文件 说明
.vscode 文件夹 包含与 Visual Studio Code 相关的设置文件,如 extensions.jsonlaunch.jsonsettings.jsontasks.json 文件。
项目 文件夹 包含在支持企业对企业 (B2B) 场景的工作流中定义和使用的集成帐户项目。

例如,示例结构中包含以下文件夹:

- 地图:包含用于 XML 转换操作的 地图

- 架构:包含用于 XML 验证操作的架构

- 规则:用于基于规则的引擎项目中的业务规则的工件。
lib 文件夹 包含逻辑应用可以使用或引用的受支持程序集。 可将这些程序集上传到 Visual Studio Code 中的项目中,但必须将它们添加到项目中的特定文件夹。

例如,此文件夹中包含以下文件夹:

- builtinOperationSdks:包含 JAR 和 net472 文件夹,分别对应 Java 和 .NET Framework 程序集。

- custom:包含 .NET Framework 自定义程序集。

有关受支持的程序集类型以及将程序集放在项目中的位置的详细信息,请参阅 向项目添加程序集
< WorkflowName> 文件夹 对于每个工作流,<WorkflowName> 文件夹包含 workflow.json 文件,其中包含该工作流的基础 JSON 定义。
workflow-designtime 文件夹 包含与开发环境相关的设置文件。
.funcignore 文件 包含与已安装的 Azure Functions Core Tools 相关的信息。
connections.json 文件 包含工作流使用的用于任何托管连接和 Azure 函数的元数据、终结点和密钥。

重要说明:若要在各种环境中使用不同的连接和函数,请确保实现此 connections.json 文件的参数化并更新终结点。
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 - 本地设置文件

下表描述了逻辑应用使用的应用设置。 逻辑应用需要某些设置才能正常工作:

设置 必须 说明
APP_KIND workflowApp 必须设置标准逻辑应用资源的应用类型。 该值必须设置为 workflowApp

注意:在某些情况下(例如使用 Azure 资源管理器模板进行自动化,和其他未包含该设置的情况)会缺少此应用设置。 如果某些操作不起作用(如“执行 JavaScript 代码”操作),或工作流停止工作,请检查“APP_KIND”应用设置是否存在,且设置为 workflowApp
AZURE_AUTHORITY_HOST 设置标准逻辑应用用于 OAuth 身份验证的默认颁发机构。
AzureWebJobsStorage 必须设置 Azure 存储帐户的连接字符串。 有关详细信息,请参阅 AzureWebJobsStorage
FUNCTIONS_EXTENSION_VERSION ~4 必须设置 Azure Functions 版本。 有关详细信息,请参阅 FUNCTIONS_EXTENSION_VERSION
FUNCTIONS_WORKER_RUNTIME dotnet 必须设置逻辑应用资源和工作流的语言辅助角色运行时。

注意:此设置的值以前设置为 node,但现在对于所有新的和现有的已部署标准逻辑应用,所需的值为 dotnet。 此更改不会影响工作流的运行时,因此一切都应和以前一样。

有关详细信息,请参阅 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 服务提供程序操作的请求超时值。
WEBSITE_CONTENTSHARE 动态 必须设置 Azure Functions 用于存储函数应用代码和配置文件的文件共享名称,并将其用于 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING。 默认值是运行时生成的唯一字符串。 有关详细信息,请参阅 WEBSITE_CONTENTSHARE
WEBSITE_LOAD_ROOT_CERTIFICATES 设置受信任的根证书的指纹。
WEBSITE_NODE_DEFAULT_VERSION ~ < 版本> 在 Windows 上运行逻辑应用工作流时设置 Node.js 版本。 使用波形符 (~) 让 Azure 逻辑应用运行时使用目标主版本的最新可用版本。 例如,如果设置为 ~18 时,将使用最新版本的 Node.js 18。 将波形符用于主版本时,无需手动更新次要版本。

有关详细信息,请参阅 WEBSITE_NODE_DEFAULT_VERSION
Workflows.Connection.AuthenticationAudience 设置要对托管(Azure 托管)连接进行身份验证的访问群体。
Workflows.CustomHostName 设置要用于工作流和输入输出 URL 的主机名,例如logic.contoso.com。 有关配置自定义 DNS 名称的信息,请参阅 在 Azure 应用服务中设置现有自定义域 ,并为 Azure 应用服务中的自定义域启用 HTTPS
Workflows.<workflowName>.FlowState 设置 <workflowName> 的状态。
Workflows.<workflowName>.RuntimeConfiguration.RetentionInDays 90 设置保留 <workflowName 的运行历史记录的时间长度(以天为单位)。

- 最小值:7 天
- 最大值:365 天
Workflows.RuntimeConfiguration.RetentionInDays 90 设置运行开始后保留工作流运行历史记录的时间长度(以天为单位)。

- 最小值:7 天
- 最大值:365 天
Workflows.WebhookRedirectHostUri 设置用于 Webhook 回调 URL 的主机名。

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

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

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

  2. 在边栏菜单中的 “设置”下,选择 “环境变量”。

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

    有关这些设置的详细信息,请参阅 应用设置参考 - local.settings.json

  4. 若要查看所有值,请在页面工具栏上选择“显示值”。 或者,若要查看单个值,请在“值”列中选择“显示值”(眼睛图标)。

在门户中添加应用设置
  1. 在工具栏的“应用设置”选项卡上,选择“添加”

  2. 在“添加/编辑应用程序设置”窗格中,对于“名称”,请输入新设置的键或名称。

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

  4. 完成后,选择“应用”。

    屏幕截图显示了 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.CleanupJobPartition 立即删除指定工作流的所有运行作业。
Jobs.SuspendedJobPartition 停止指定工作流的运行作业。
SequencerJobs.SuspendedSequencerPartition 停止指定工作流的序列器运行任务。

若要指定单个工作流,请使用以下语法,其中每个工作流 ID 后跟冒号:,并用分号;分隔:

"Jobs.CleanupJobPartition": "<workflow-ID-1>:;<workflow-ID-2>",
"Jobs.SuspendedJobPartition": "<workflow-ID-1>:;<workflow-ID-2>:",
"SequencerJobs.SuspendedSequencerPartition": "<workflow-ID-1>:;<workflow-ID-2>:"

若要取消特定运行,请在工作流 ID 之后提供 2D 作为分隔符的运行 ID,例如:

"Jobs.SuspendedJobPartition": "<workflow-ID-1>:2D<run-ID>;",

基于定期的触发器

设置 默认值 说明
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 天。

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

运行操作

设置 默认值 说明
Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout 00:10:00
(10 分钟)
设置工作流作业在超时和重试之前的运行时长。 若要更改内置操作(例如 SAP)的默认超时,还需设置functionTimeout主机设置。 有关详细信息,请参阅下一个条目。
functionTimeout 00:30:00
(30 分钟)
设置在 Azure Functions 及某些内置操作(例如 SAP)作为函数调用时的超时之前运行的持续时间。 标准逻辑应用使用与函数应用相同的基础设计。 因此,functionTimeout Azure Functions 中的主机设置还会影响作为函数调用运行的内置操作。 有关详细信息,请参阅 functionTimeout

注意:在 host.json 文件中, functionTimeout 该设置与标准逻辑应用存在主机设置的对象位于同一级别 extensions 。 有关详细信息,请参阅本节中的示例: 更改基于函数的内置作的超时值

更改函数基础的内置操作的超时值

对于在 Azure Functions 中以函数调用形式运行的内置操作,请将 Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeoutfunctionTimeout 主机设置添加到 host.json 文件中,如以下示例所示:

{
   "version": "2.0",
   "extensionBundle": {
      "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
      "version": "[1.*, 2.0.0)"
   },
   "extensions": {
      "workflow": {
         "settings": {
            "Runtime.FlowRunRetryableActionJobCallback.ActionJobExecutionTimeout": "01:00:00"
         }
      }
   },
   "functionTimeout": "01:00:00"
}

输入和输出

设置 默认值 说明
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 32384 个字符 设置在存储到 Blob 存储之前要以内联方式存储在表存储中的最大操作输入和输出字符数。

For each 循环

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

Until 循环

设置 默认值 说明
Runtime.Backend.MaximumUntilLimitCount 5000 次迭代 对于有状态工作流,设置 操作中 Count 属性的最大可能数。
Runtime.Backend.Stateless.FlowRunTimeout 00:05:00
(5 分钟)
设置无状态工作流中 Until 循环的最长等待时间。
Runtime.Backend.Stateless.MaximumUntilLimitCount 100 次迭代 对于无状态工作流,设置 操作中 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 秒)
设置工作流操作的重试策略定义中的最小间隔。

限制

最大内容大小:

默认情况下,内置触发器(如 HTTP 或请求)仅限于限制和配置参考 - 消息中描述的消息大小。 若要处理超出限制大小的文件,请尝试将内容作为 blob 上传到 Azure Blob 存储,然后使用 Azure Blob 连接器获取内容。

管理主机设置 - host.json

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

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

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

  2. 在资源菜单中的“开发工具”下,选择“高级工具”

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

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

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

  5. 沿着以下路径浏览到 wwwroot 文件夹:

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

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

    有关主机设置的详细信息,请参阅 主机设置参考 - host.json

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

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

    1. 在资源菜单中,选择“概述”。

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

  2. 如果 host.json 文件已打开,请返回到 host.json 文件。 否则,请按照前面的步骤打开 host.json 文件。

  3. extensionBundle 对象下,添加包含 extensionsworkflow 对象的 settings 对象,例如:

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

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

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