Azure 逻辑应用 是一款云服务和平台,用于自动化企业业务流程工作流,并在云端、本地和混合环境中集成服务、系统、应用和数据,几乎无需代码。
该平台支持以下主要场景:
- 协调跨多个系统的业务流程工作流。
- 通过使用 1,400+预制连接器连接传统、现代和尖端平台。
- 可视化构建集成工作流,并访问自定义代码选项。
- 创建确定性或动态运行的工作流程,使用AI代理和大型语言模型。
要判断这项服务是否适合你的工作量,可以 比较自动化服务。 要开始构建工作流程,请 选择一份入门指南。 选择托管模式时,请 比较消耗和标准工作流程。
例如,以下示例工作流演示了当成本超过指定阈值时,Azure 逻辑应用 如何将传入订单路由以进行人工审核:
工作流程使用条件和开关来确定下一步操作。 如需详细了解此工作流背后的逻辑,请参阅逻辑应用的工作原理。
其他常见的自动化场景包括:
- 上传文件时发送Office 365通知。
- 处理客户订单,跨云端和本地系统。
- 将文件从 SFTP 或 FTP 服务器迁移到 Azure Blob 存储。
- 分析社交媒体情绪并创建提醒供审核。
本概述将帮助你探索以下概念:
为何使用Azure 逻辑应用?
Azure 逻辑应用 帮助您:
更快集成系统:从1,400+款预构建的Microsoft托管连接器中选择,适用于Azure服务、Microsoft 服务、外部应用、数据库和本地系统。
减少或取消获取资源的工作量。 专注于设计和开发你的解决方案的业务逻辑和功能,以满足你的业务需求。
可视化构建: 用工作流设计师创建编排逻辑,而不是自己写所有集成代码。
优化性能:使用内置连接器,这些连接器能原生运行,直接运行在 Azure 逻辑应用 运行时。
这些连接器操作可以与服务端点通信,运行自己的代码,控制工作流程结构,操作数据,或以更高的速度、容量和吞吐量连接常用资源。
访问托管服务: 使用 托管连接器 来预建访问服务和系统API。
这些连接器操作运行于全球多租户 Azure 中。 例如:
- Office 365 服务,例如 Outlook、Excel 和 SharePoint
- 企业系统,例如 SAP 和 IBM MQ
用代码扩展工作流程:运行内联代码,调用 Azure Functions,或者在预构建操作不符合需求时创建自定义连接器。
使用托管扩展:让Azure托管、监控和扩展你的工作流程,而你则专注于业务逻辑。
使用 Azure 逻辑应用构建工作流时,通常无需编写任何代码。 不过,如果你需要创建并运行自己的代码,Azure 逻辑应用 支持此功能。 例如,对于在多租户 Azure 逻辑应用中运行的工作流,你可以直接在工作流中编写和运行 JavaScript 代码片段。 对于更复杂的结构化代码,如果使用了 Azure Functions 平台,你可以在工作流中创建和调用函数。 对于在单租户 Azure 逻辑应用、应用服务环境 (ASE) v3 或部分连接的环境中运行的工作流,你可以直接在工作流中编写和运行 JavaScript 代码片段、.NET 代码、C# 脚本和 PowerShell 脚本。
如果工作流需要与来自其他 Azure 服务、自定义应用或其他解决方案的事件进行交互,则可以使用 Azure 事件网格或 Azure 事件中心来监视、路由和发布事件。
有关详细信息,请参见:
- 使用工作流内联添加和运行 JavaScript 代码
- Azure Functions 概述 和 通过工作流调用 Azure Functions
- 通过标准工作流创建并运行 .NET 代码
- 添加和运行 C# 脚本
- 添加并运行 PowerShell 脚本
Azure完全管理Azure 逻辑应用,这让你无需担心托管、缩放、管理、监视和维护使用这些服务构建的解决方案。 当你利用这些能力创建 “无服务器”应用和解决方案时,你可以更多地专注于构建业务逻辑和功能。 无服务器平台可自动扩缩以满足需求,使集成更快运作,并帮助你使用很少代码(或根本不使用代码)构建强大的云应用。
若要了解其他公司如何将 Azure 逻辑应用与其他 Azure 服务和 Microsoft 产品配合使用,以便增强敏捷性并更加专注于核心业务,请查看这些客户案例。
关键术语
下表简要定义了 Azure 逻辑应用中的核心术语和概念。
| 术语 | 说明 |
|---|---|
| 逻辑应用 | 在需要生成工作流时创建的 Azure 资源。 基本上,可以创建以下类型的逻辑应用资源: - 一种 消耗型 逻辑应用资源,支持单个工作流,并托管和运行于多租户 Azure 逻辑应用中 -“标准”逻辑应用资源,该资源支持在单租户 Azure 逻辑应用、应用服务环境 (ASE) v3(仅限 Windows 计划)或部分连接的环境中托管和运行的多个工作流 详细了解逻辑应用资源类型及其各自的计算资源和计费模式。 |
| Workflow | 定义任务、业务流程或工作负载的一系列操作。 每个工作流始终以单个触发器操作开头,之后必须添加一个或多个操作。 |
| 触发器 | 任何工作流中的第一个操作,指定在运行该工作流中的任何后续操作之前要满足的条件。 例如,触发事件可能是在收件箱中收到电子邮件,或者在存储帐户中检测到新文件。 |
| Action | 工作流中触发器后面的每个后续操作。 |
| 内置连接器 | 这种连接器或操作类型在 Azure 逻辑应用 运行时上原生运行,因此与由 Microsoft 管理、托管并运行在 Azure 中的连接器相比,性能更快。 内置连接器支持工作流控制、自行运行代码、数据处理、端点通信及其他工作流程任务。 更多信息请参见 内置连接器。 |
| 托管连接器 | 该连接器或操作类型是Microsoft管理的服务或系统API代理。 大多数托管连接器需要认证连接。 更多信息请参见 托管连接器。 |
| 集成账户 | 这个 Azure 资源允许你定义并存储用于工作流程的 B2B 工件。 在将集成帐户创建并链接到逻辑应用后,您的工作流即可使用这些 B2B 构件。 工作流还可以交换遵循电子数据交换 (EDI) 和企业应用程序集成 (EAI) 标准的消息。 例如,你可以定义参与方、协议、架构、地图和其他 B2B 项目。 你可以创建使用这些构件的工作流,并通过 AS2、EDIFACT、X12 和 RosettaNet 等协议交换消息。 |
Azure 逻辑应用 功能
你可以从一个连接现有系统和服务的工作流程开始,随着集成需求的增加,逐步增加功能:
使用简单易用的工具直观地创建和编辑工作流
每个工作流始终以触发器开始,后接来自连接器库的任意数量的操作。
若要节省时间并简化复杂流程,请使用Azure门户或Visual Studio Code中的图形工作流设计器创建工作流。 每个工作流还有一个以 JavaScript 对象表示法(JSON)格式定义的基础定义。 如果需要,可以通过更改此 JSON 定义来编辑工作流。 对于某些创建和管理任务,还可以使用Azure PowerShell和Azure CLI命令。 对于自动部署,Azure 逻辑应用支持 Azure 资源管理器模板。
跨各种环境连接不同的系统
某些模式和流程描述起来容易,但难以在代码中实现。 Azure 逻辑应用可帮助跨云、本地和混合环境无缝连接不同的系统。 例如,可以将云营销解决方案连接到本地计费系统,也可以使用 Azure 服务总线集中进行跨 API 和系统的消息传送。 可以通过 Azure 逻辑应用快速、可靠且一致地为这些方案提供可重复使用和重新配置的解决方案。
创建并部署到不同的环境
根据方案、解决方案要求和所需功能,可以选择创建“消耗”或“标准”逻辑应用工作流。 根据此选择,工作流可以在多租户 Azure 逻辑应用、单租户 Azure 逻辑应用、应用服务环境 (v3) 或混合环境中运行,而混合环境可以是部分连接环境,也可以是自有基础结构。 使用单租户 Azure 逻辑应用,工作流可以更轻松地访问受 Azure 虚拟网络保护的资源。 如果使用混合部署托管选项创建基于租户的工作流,还可以使用所控制的基础结构在本地运行工作流。 有关详细信息,请参阅 Azure 逻辑应用中的单租户与多租户。
下表简要总结了消耗型与标准逻辑应用程序工作流之间的差异。 你还会了解多租户环境、单租户环境、应用服务环境 v3(ASEv3)和混合环境之间的区别,用于部署、托管和运行逻辑应用工作流。
| 托管选项 | 好处 | 资源共享和使用 | 定价和计费模型 | 限制管理 |
|---|---|---|---|---|
|
消费 主机环境: 多租户 Azure 逻辑应用 |
- 最容易入门 - 仅为所使用内容付费 - 完全托管 |
单个逻辑应用资源只能拥有一个工作流。 跨 Microsoft Entra 租户的所有逻辑应用可共享相同的处理(计算)、存储、网络等。 注意:有关数据驻留和冗余: - 在未与代理交互的工作流或工作流部分中,数据将在 配对区域中复制。 为实现高可用性,已启用异地冗余存储 (GRS)。 |
消耗(按执行付费) | Azure 逻辑应用管理这些限制的默认值,但如果特定限制存在更改值的选项,则可以更改其中某些值。 |
|
标准(工作流服务计划) 主机环境: 单租户 Azure 逻辑应用 |
- 更多内置连接器托管在单租户运行时上,可实现更高的吞吐量和更低的规模成本 - 围绕运行时和性能设置的更多控制和微调功能 - 集成了对虚拟网络和专用终结点的支持。 - 创建自己的内置连接器。 |
单个逻辑应用资源可以拥有多个有状态和无状态工作流。 单个逻辑应用和租户中的工作流共享相同的处理(计算)、存储和网络等。 数据所在区域与部署逻辑应用的区域相同。 |
标准,基于采用所选定价层的托管计划。 如果运行有状态工作流(这些工作流使用外部存储,Azure 逻辑应用运行时将执行遵循 Azure 存储定价的存储事务。 |
你可以根据方案的需求更改多个限制的默认值。 重要:某些限制有固定的最高上限。 在 Visual Studio Code 中,你对逻辑应用项目配置文件中的默认限制值的更改不会反应在设计器体验中。 有关更多信息,请参阅 在单租户 Azure 逻辑应用中编辑逻辑应用的应用和环境设置。 |
|
标准(应用服务环境 v3) 主机环境: 应用服务环境 v3 (ASEv3) - 仅限 Windows 计划 |
与单租户相同的功能,加上以下优势: - 完全隔离逻辑应用。 - 创建和运行比在单租户 Azure 逻辑应用中更多的逻辑应用。 - 无论创建和运行多少逻辑应用,都只需为 ASE 应用服务计划付费。 - 可以使用更多虚拟机实例或其他应用服务计划启用自动缩放或手动缩放。 - 从选定的 ASEv3 继承网络设置。 例如,当你部署到内部 ASE 时,工作流可以访问与 ASE 关联的虚拟网络中的资源,并拥有内部访问点。 注意:如果从内部 ASE 的外部访问,运行该 ASE 中的工作流的历史记录是无法访问操作输入和输出的。 |
单个逻辑应用可以有多个有状态和无状态工作流。 单个逻辑应用和租户中的工作流共享相同的处理(计算)、存储和网络等。 数据所在区域与部署逻辑应用的区域相同。 |
应用服务计划 | 你可以根据方案的需求更改多个限制的默认值。 重要:某些限制有固定的最高上限。 在 Visual Studio Code 中,你对逻辑应用项目配置文件中的默认限制值的更改不会反应在设计器体验中。 有关更多信息,请参阅 在单租户 Azure 逻辑应用中编辑逻辑应用的应用和环境设置。 |
|
标准(混合) 主机环境: 你自己的本地基础结构 |
- 需要控制和管理自己的基础结构的方案。 - 具备用于构建和托管集成方案的能力,适用于需要进行本地处理、存储和网络访问的部分连接环境。 - 支持可包括本地系统、私有云和公有云的基础结构。 - 工作流由作为 Azure 容器应用扩展的一部分托管在本地的 Azure 逻辑应用运行时提供支持。 有关详细信息,请参阅以下文章: - 使用混合部署为标准逻辑应用设置自己的基础结构 - 在自己的基础结构上为混合部署创建标准逻辑应用工作流 |
单个逻辑应用可以有多个有状态和无状态工作流。 单个逻辑应用和租户中的工作流共享相同的处理(计算)、存储和网络等。 数据所在区域与部署逻辑应用的区域相同。 |
混合定价 | 你可以根据方案的需求更改多个限制的默认值。 重要:某些限制有固定的最高上限。 在 Visual Studio Code 中,你对逻辑应用项目配置文件中的默认限制值的更改不会反应在设计器体验中。 有关更多信息,请参阅 在单租户 Azure 逻辑应用中编辑逻辑应用的应用和环境设置。 |
企业集成与 B2B 场景
企业和组织通过使用不同的行业标准消息协议和格式进行电子通信,如EDIFACT、AS2、X12和RosettaNet。 你可以按照这些协议自动化交换和转换B2B消息的工作流程,Azure 逻辑应用通过加密和数字签名实现了流畅且安全的处理。
要定义你在工作流程中使用的企业对企业(B2B)工件,如合作伙伴、协议、模式、地图等,请为这些工件创建一个 集成账户 。 在将该账户与逻辑应用资源关联后,你的工作流程可以使用这些工件,并交换符合电子数据交换(EDI)和企业应用集成(EAI)标准的消息。
通过选择符合你情境的任务来了解更多信息:
创建一个集成账户 来定义和存储B2B工件,例如:
选择一个EDI协议 来交换消息,例如:
-
您的工作流程可以通过BizTalk Server连接器与BizTalk Server通信。 然后,可以使用集成帐户连接器在工作流中运行或扩展类似于 BizTalk 的操作。 从另一个方向看,BizTalk Server 可以使用适用于 Azure 逻辑应用的 Microsoft BizTalk Server 适配器与工作流通信。 了解如何在 BizTalk Server 中设置和使用 BizTalk 服务器适配器。
使用 Azure 资源管理器 模板在不同环境中重用工作流程
将逻辑应用工作流创建为 Azure 资源管理器模板,以便跨多个环境和区域设置并自动执行部署。
当没有连接器时运行自定义代码
如果没有合适的连接器来运行你想要的代码,你还有其他工作流程选项:
对于消耗型和标准工作流,您可以使用以下功能:
- 包含运行JavaScript的内联代码操作。
- 用 Azure Functions 创建并运行代码。
- 创建并使用自定义连接器操作。 对于 Consumption 工作流,请参阅 适用于 Consumption 的自定义连接器。 关于标准工作流程,请参见 创建自定义内置连接器。
- 创建并调用 自定义API。
对于标准工作流程,您可以使用以下额外功能:
- 包含运行C#脚本或PowerShell脚本的内联代码操作。
- 创建自定义函数来运行 .NET 代码。
直接访问 Azure 虚拟网络中的资源
当你使用 Azure 逻辑应用(标准版)时,你的工作流程可以访问安全的资源,如虚拟机、其他服务和 Azure 虚拟网络中的系统。 Azure 逻辑应用(标准版)是 Azure 逻辑应用 的一个单租户实例,使用专用资源,并与全局多租户 Azure 逻辑应用 分开运行。
通过在自己的专用实例中托管和运行逻辑应用工作流,可以减少其他Azure租户对应用性能或“干扰邻居”的影响。
Azure 逻辑应用(标准)具有以下优势:
你会获得自己的静态IP地址,这些IP和多租户Azure 逻辑应用中逻辑应用共享的静态IP是分开的。 还可以设置单个公共的、静态的和可预测的出站 IP 地址,以便与目标系统通信。 使用这个IP地址,你无需在目标系统设置额外的防火墙开口。
你会获得更高的运行时长、存储保留、吞吐量、HTTP请求和响应超时、消息大小以及自定义连接器请求的限制。 有关详细信息,请参阅 Azure 逻辑应用的限制和配置。
逻辑应用的工作原理
逻辑应用工作流始终以单个触发器开始。 当满足某个条件时,例如,当发生特定事件时或数据满足特定条件时,将触发触发器。 许多触发器包含用于控制工作流运行频率的计划功能。 触发触发器后,一个或多个操作将运行加工、处理或转换数据等操作,这些操作可以贯穿于工作流,也可以推动工作流进入下一步。
在前面示例的顺序工作流程中,步骤如下:
触发器接收到命令。
条件是将订单成本与审核阈值进行比较。
低于门槛的订单继续处理。
超过门槛的订单需要发送电子邮件进行人工审核。
一个开关处理审阅者的响应:
- 批准: 继续处理订单。
- 升级处理: 收集更多信息,并重新评估订单。
- 未满足要求: 发送电子邮件说明问题。
保证消息传递
Azure 逻辑应用传递消息“至少一次”。 不会丢失任何消息,服务很少会多次传递消息。 但是,如果业务无法处理或无法处理重复消息,则需要实现 幂等性。 此方法接受相同的或重复的消息,同时保持数据完整性和系统稳定性。 首次执行后,重复操作不会更改结果。
消费型和标准逻辑应用的定价模型
每个逻辑应用托管选项(多租户、单租户、应用服务环境 (ASE) v3 或部分连接的环境)都有不同的定价模型。 例如,多租户的 Consumption 逻辑应用工作流遵循 Consumption 定价模式,而单租户的 Standard 逻辑应用工作流则遵循 Standard 定价模式。 有关具体的定价详细信息,请参阅 Azure 逻辑应用定价。
开始
在尝试Azure 逻辑应用之前,需要一个Azure帐户和订阅。 如果没有订阅,请获取Azure帐户。
准备好后,根据你的情境选择一份入门指南:
| 你想要创造 | 从这里开始 |
|---|---|
| 按使用量计费的多租户工作流 | 创建消耗逻辑应用工作流程 |
| 隔离、单租户、ASE v3 或混合工作流程 | 创建标准逻辑应用工作流程 |