你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在单租户 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.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。 |
FUNCTINONS_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 |
否 | 无 | 设置受信任的根证书的指纹。 |
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。
在门户中查看应用设置
在 Azure 门户搜索框中,找到并打开你的逻辑应用。
在逻辑应用菜单中,在“设置”下选择“环境变量”。
在“环境变量”页上的“应用设置”选项卡上,查看逻辑应用的应用设置。
有关这些设置的详细信息,请查看可用应用设置的参考指南 - local.settings.json。
若要查看所有值,请选择“显示值”。 或者,若要查看单个值,请在 Value 列中,选择值旁边的“eye”。
在门户中添加应用设置
主机设置参考 - 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>:"
基于定期的触发器
设置 | 默认值 | 说明 |
---|---|---|
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 秒) |
设置工作流操作的重试策略定义中的最小间隔。 |
限制
最大内容大小
默认情况下,内置触发器(如 HTTP 或请求)仅限于限制和配置参考 - 消息中描述的消息大小。 若要处理超出限制大小的文件,请尝试将内容作为 blob 上传到 Azure Blob 存储,然后使用 Azure Blob 连接器获取内容。
管理主机设置 - host.json
可以添加、更新或删除主机设置,这些设置指定将用于该逻辑应用中所有工作流的运行时配置设置和值,例如吞吐量、容量、数据大小等的默认值,无论它们是在本地运行还是 Azure 中运行 。 有关特定于逻辑应用的主机设置,请查看可用运行时和部署设置的参考指南 - host.json。
Azure 门户 - host.json
若要在 Azure 门户中查看基于单租户的逻辑应用的主机设置,请执行以下步骤:
在 Azure 门户搜索框中,找到并打开你的逻辑应用。
在资源菜单中的“开发工具”下,选择“高级工具”。
在“高级工具”窗格上,选择“转到”,这将为你的逻辑应用打开 Kudu 环境。
在 Kudu 工具栏上,打开“调试控制台”菜单,并选择“CMD”。
此时将打开一个控制台窗口,以便你可使用命令提示符浏览到 wwwroot 文件夹。 另外,你可以浏览控制台窗口上方显示的目录结构。
沿着以下路径浏览到 wwwroot 文件夹:
...\home\site\wwwroot
。在控制台窗口上方的目录表中,选择 host.json 文件旁边的“编辑” 。
打开 host.json 后,查看之前为逻辑应用添加的所有主机设置。
有关主机设置的详细信息,请查看可用主机设置的参考指南 - host.json。
若要添加设置,请执行以下步骤:
在添加或编辑设置之前,请在 Azure 门户中停止逻辑应用。
在资源菜单中,选择“概述”。
在“概述”窗格的工具栏上,选择“停止”。
如果 host.json 文件已打开,请返回到 host.json 文件。 否则,请按照前面的步骤打开 host.json 文件。
在
extensionBundle
对象下,添加包含workflow
和settings
对象的extensions
对象,例如:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
在
settings
对象中,添加一个包含要用于逻辑应用中所有工作流的主机设置的简单列表,无论这些工作流是在本地运行还是 Azure 中运行,例如:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { "Runtime.Trigger.MaximumWaitingRuns": "100" } } } }
完成后,记得选择“保存”。
现在,重启逻辑应用。 返回到逻辑应用的“概述”页,然后选择“重启” 。
Visual Studio Code - host.json
若要在 Visual Studio Code 中查看逻辑应用的主机设置,请执行以下步骤:
在逻辑应用项目中的根项目级别,找到并打开 host.json 文件。
在
extensions
对象中的workflows
和settings
下,查看以前为逻辑应用添加的所有主机设置。 否则extensions
对象不会出现在文件中。有关主机设置的详细信息,请查看可用主机设置的参考指南 - host.json。
若要添加主机设置,请执行以下步骤:
在 host.json 文件中的
extensionBundle
对象下,添加包含workflow
和settings
对象的extensions
对象,例如:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { } } } }
在
settings
对象中,添加一个包含要用于逻辑应用中所有工作流的主机设置的简单列表,无论这些工作流是在本地运行还是 Azure 中运行,例如:{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[1.*, 2.0.0)" }, "extensions": { "workflow": { "settings": { "Runtime.Trigger.MaximumWaitingRuns": "100" } } } }