我们很高兴地宣布 Azure Functions v4 现在支持 .NET 7 作为运行时。Azure Functions 加入了 Azure Web Apps,同时 Azure Web Apps 也宣布了对 .NET 7 的支持。对于那些希望利用 .NET 运行时的最新创新在 Azure 中构建无服务器功能的开发人员,您可以专注于使用 .NET 7 新功能进行编码,无需担心底层基础设施。
现在您可以使用.NET 隔离工作者模型(.NET Isolated Worker model)在 Azure Functions 中使用 .NET 7 构建无服务器应用程序,将函数进程与 Azure Functions 运行时分离,从而带来针对不同版本 .NET 所需的灵活性,更有效地管理依赖关系和服务注册。
隔离工作者模型还允许您使用当前的 .NET 行为进行依赖注入,并将中间件合并到您的函数应用程序中。如果要从 .NET 5 Azure Functions v3 升级,请选择隔离模型。除高级计划外,此功能可在所有基于 Windows 和 Linux 的计划中预览。
我们有核心工具可用于在 .NET 7 中创建新的 Azure 函数,并在 Visual Studio 2022 17.4 Preview 1 中提供支持。
首先,我们可以利用 Azure Functions Core Tools 搭建一个独立的项目文件夹结构,如下所示:
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 安装程序的 More→Update settings 中将 update channel 设置为 Preview,如下所示:
确保您已将 Modify→Individual Component 设置为包含 .NET 7 SDK ( Preview ) 和 .NET 7.0 Runtime ( Preview ):
当您在 Visual Studio 中创建新的 Azure 函数时,您会发现 .NET 7 Isolated 的新选项:
Visual Studio 提供了一种将应用程序发布到 Microsoft Azure 的简单方法。只需在 Visual Studio 中右键单击函数应用程序,然后发布,即可将无服务器应用程序部署到 Azure。选择您的发布目标并将您的函数发布到 Azure:
欢迎在本文下方留言反馈。如果您发现了任何问题,请将其记录在 Azure Functions .NET 语言工作者 GitHub 存储库中。接下来,我们还将与社区密切合作,欢迎查看我们面向公众的产品路线图。
立即开始使用 .NET 7 构建您的无服务器应用程序,使用 Azure Core 工具创建您的第一个 .NET 7 函数吧!