首页 文章

如何将Visual Studio Azure Functions项目(多个函数)发布到不同的Azure功能应用程序

提问于
浏览
1

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

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

  • HttpTriggerFunction1 应部署到 HttpFunctionApp .

  • TimerTriggerFunction1 应部署到 TimerFunctionApp .

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

我使用VS 2017 15.8.2与最新的Azure Webjobs和工具 .

1 回答

  • 2

    通常的方法是将代码拆分为单独的项目 - 包含 HttpTriggerFunction1 的函数项目,包含 TimerTriggerFunction1 的函数项目和共享代码的库项目(如果有) . 然后,您可以将每个Functions项目部署到其自己的Function App .

    如果由于某些奇怪的原因,这是不可行的,您可以改为创建单独的配置,每个配置都有一个构建后的步骤,该步骤删除了您不希望可用的函数的 function.json 文件 . 例如,部署到 HttpFunctionApp 的配置将删除 TimerTriggerFunction1/function.json . 虽然DLL仍将包含Run方法,但如果 function.json 文件不存在,Azure Functions运行时将不会将它们视为函数 .

相关问题