注意:这篇博客最初发布在Azure上的Apps博客上,用于初始预览和Visual Studio 2022支持。
我们很高兴地宣布,Azure Functions v4现在支持.NET 7作为运行时间。Azure Functions加入了Azure Web Apps的行列,后者也宣布支持.NET 7。
对于那些希望利用.NET运行时的最新创新在Azure中构建无服务器功能的开发者来说,这使得地球上所有的开发者都可以专注于用.NET 7的新功能进行编码,在大规模的情况下随时可以进行编码,而不用担心底层的基础设施。
使用Azure Functions的.NET 7的新内容
你现在可以在Azure Functions中使用.NET Isolated Worker模型构建你的无服务器应用程序,该模型提供了一个隔离模型,将你的函数过程与Azure Functions运行时解耦,带来了针对不同版本的.NET所需的灵活性,更有效地管理依赖性和服务注册。
隔离的工作者模型还允许你使用当前的.NET行为进行依赖性注入,并将中间件纳入你的函数应用中。如果你从.NET 5 Azure functions v3升级,请选择隔离模型。除了高级计划外,该功能可在所有基于Windows和Linux的计划中进行预览。
如何试用它?
由于你已经习惯了在.NET 7运行时的隔离过程中创建Azure函数,所以没有什么区别。我们有核心工具可以在.NET 7中创建一个新的Azure函数,并在Visual Studio 2022 17.4 Preview 1中支持。
Azure函数核心工具
要想开始,我们可以利用Azure Functions核心工具来搭建一个孤立的项目文件夹结构,如下所示:
func init --worker-runtime dotnet-isolated --target-framework net7.0
然后使用func new命令来架设一个HTTP触发器函数。下面是一个使用HTTP触发器创建一个名为DotNet7function
的函数的命令示例:
func new --name DotNet7Function --template "HTTP trigger"
然后你可以使用func start命令来测试这个函数:
func start
Visual Studio 2022
Visual Studio通过简化函数创建工作流程,以丰富的本地开发和调试经验,使所有开发人员更容易使用Azure函数构建无服务器应用程序,并快速将你的.NET应用程序发布到Microsoft Azure。
将你的Visual Studio 2022更新到17.4 Preview 1.0
遵循官方文档上的Visual Studio更新流程,并确保你在更新前符合所有先决条件。注意,你需要在Visual Studio安装程序的 "更多"->"更新 "设置中把你的更新渠道设置为预览版,如下图所示。
确保你已将 "修改"->"个别组件"设置为包括.NET 7 SDK(预览版)和.NET 7.0 Runtime(预览版)。
创建你的Azure函数
当你在Visual Studio中创建一个新的Azure函数时,你会发现一个新的选项是.NET 7 Isolated。
部署你的Azure函数
Visual Studio提供了一个简单的方法来发布你的应用程序到微软Azure。你只需在Visual Studio中右键点击你的函数应用,然后发布,就可以将你的无服务器应用部署到Azure。 选择你的发布目标,将你的函数发布到Azure。
接下来的步骤
我们期待着听到你的反馈和你的使用案例,请随时在公告相关讨论中分享。另外,如果你发现了潜在的问题,请记录在Azure Functions .NET语言工作者GitHub仓库中。