Azure Functions 和 Logic Apps 是微软 Azure 提供的两个不同的服务。我想知道在什么情况下应该选择 Azure Functions,而不是 Logic Apps。
Azure Functions 和 Logic Apps 是微软 Azure 提供的两个不同的服务。我想知道在什么情况下应该选择 Azure Functions,而不是 Logic Apps。
Azure Functions是由事件触发的代码。
Logic Apps是由事件触发的工作流程。
这意味着它们实际上是互补的。从昨天开始,您可以通过Logic Apps UX将函数作为逻辑应用程序中的工作流的一部分添加。
TL;DR - 这是Logic Apps + Functions,而不是Logic Apps或Functions。
以下是你可以在选择Azure Functions和Azure Logic Apps之间进行决策的一些用例。
Azure Functions:
Azure Function是由事件触发的代码
Azure Functions可以在本地工作站上开发和调试,这大大提高了开发人员的生产力
在处理执行更复杂逻辑的同步请求/响应调用时,Azure Function是首选选项
Logic Apps:
Logic Apps是由事件触发的工作流
Logic Apps仅在云中运行,因为它依赖于Microsoft管理的连接器。无法在本地调试、测试或运行Logic Apps。
Logic Apps更适合于需要可靠处理的异步集成和发送并忘记消息。
Azure Functions具有足够的日志记录和故障排除功能,甚至可以构建自定义监视工具。Functions不依赖于云,也可以在本地运行。
我想补充一些我的想法。
Azure Function Apps应该用于以下方面:
Azure Logic Apps应该用于以下方面:
简而言之,其他人所说的。 它们扮演不同的角色,应该如此使用。
总的来说,逻辑应用程序❤️函数。
如果您想查看一些信息,我鼓励您检查
Logic Apps被用于自动化业务流程。它们通过几个开箱即用的连接器,使与云和本地系统集成变得容易。而Azure函数则响应事件执行操作,例如当消息添加到队列或blob时进行处理等。我想你甚至可以将Azure函数公开为HTTP API端点,并使用Logic Apps集成到您的业务流程中。
在我看来,另一个明显的区别是定价方式。Azure函数基于用于函数执行的计算和与函数关联的内存进行收费(https://azure.microsoft.com/en-us/pricing/details/functions/)。
我两者都使用得很多。对于简单的应用程序/ API,我更喜欢逻辑应用程序而不是Azure函数。逻辑应用程序的知识转移非常容易,因为下一个人只需要看图片即可。日志跟踪也已经内置。然而,当您有超过几个if-else或case条件或者有几个嵌套工作流程时,逻辑应用程序(和Flow)将变得混乱且难以阅读。逻辑应用程序中的错误处理也有很大的改进空间。
Azure Function Azure Function是一段在某些事件或时间触发的代码片段,可以进行调试,并且有几种可编程语言和编码选项,例如Visual Studio Code、Visual Studio和In-portal。
Logic app 它是一个工作流编排工具,类似于Azure Functions以类似的方式触发,但它是一个拖放工具,无法在其中编写代码。它提供了大量操作来执行功能,主要用于集成系统。
这两个系统都基于服务器架构,但Azure Logic App易于开发和调试,但范围有限。如果您需要许多定制逻辑,则应选择Azure Function。