我们创建并测试了在Windows上托管的多个Azure Function Apps。在什么情况下创建新的Azure功能应用程序时,我选择Windows以外的操作系统?意思是Linux或Docker。
我为所有三个操作系统选择选项创建了测试实例,并且每个操作系统的基本设置都非常接近。
答案 0 :(得分:3)
如果您的函数具有仅适用于Linux / Docker的依赖项,则Linux或Docker非常有用。例如,某些node.js本机库仅适用于Linux,并且永远不能在Windows上运行。
如果您不需要任何特定的Linux,那么我建议坚持使用Windows,因为目前(在撰写本文时)是运行Azure功能的最佳和最受支持的环境。
答案 1 :(得分:2)
Azure Functions 2.0运行时基于.NET Core,因此它是跨平台的。如果选择Linux / Docker,则将在Linux上部署函数运行时。
2.0仍在预览中,因此尚未在生产中支持Linux / Docker。目前,不支持消费计划(按次付费)。
见The Azure Functions on Linux Preview。引用:
Linux上的功能可以在两种不同的模式下托管在专用的应用服务层中:
- 您带了功能应用程序代码,我们提供和管理容器,不需要特定的Docker相关知识。
- 您自带Docker容器,包括Azure Functions运行时2.0,特定依赖项和功能应用程序代码。