如何将 Visual Studio 个 Azure Functions 项目(多个函数)发布到不同的 Azure Function Apps

How to publish Visual Studio Azure Functions project (Multiple functions) to different Azure Function Apps

我在 Visual Studio 中有一个 Azure Functions 项目包含两个函数 - HttpTriggerFunction1TimerTriggerFunction1.

我想将 Azure Function 项目从 Visual Studio 发布到不同的 Azure Functions 应用程序 - 我创建的 HttpFunctionAppTimerFunctionApp在 Azure。

是否有 Visual Studio 的选项来实现上述部署策略(可能自定义发布配置文件?)?或者我是否需要使用 VSTS 的发布定义来将适当的功能发布到适当的功能应用程序,在这种情况下,如何实现这一点,因为我的 DLL 可能具有与其他功能相关的代码(运行 方法)哪些不应该用于所有功能应用程序?

我正在使用 VS 2017 15.8.2 和最新的 Azure Webjobs 和工具。

执行此操作的通常方法是将代码拆分为单独的项目 - 一个包含 HttpTriggerFunction1 的 Functions 项目、一个包含 TimerTriggerFunction1 的 Functions 项目和一个用于共享代码的库项目(如果有)任何。然后,您可以将每个 Functions 项目部署到其自己的 Function App。

如果出于某种奇怪的原因这不可行,您可以改为创建单独的配置,每个配置都有一个 post-build 步骤,用于删除您不需要的函数的 function.json 文件可用。例如,部署到 HttpFunctionApp 的配置将删除 TimerTriggerFunction1/function.json。尽管 DLL 仍将包含 运行 方法,但如果 function.json 文件不存在,Azure Functions 运行时将不会将它们视为函数。