如何仅将单个函数部署到我的Azure Function应用程序中的插槽,而不是所有函数?

omhiaaxx  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(123)

我在一个函数应用程序中有2个Azure函数,我想知道我是否可以只部署2个函数中的1个,而不是两个都部署?
这是我部署的方式,也许可以用不同的方式完成,或者我需要将我的2个功能移动到单独的功能应用程序中?
1.我在cli上发布了函数app,但是我认为下一步选择部署的时候,函数已经被构建发布了,所以这一步可能是不必要的。
〉dotnet publish --configuration Debug /p:EnvironmentName=Development
1.在Azure选项卡中的我的订阅下,我选择功能应用程序,然后选择我想要使用的插槽,然后右键单击插槽并选择“部署到插槽”x1c 0d1x

问题-这将构建和部署两个函数。
问题-是否有方法只部署2个不同功能中的1个,或者我应该创建另一个功能应用程序?
仅供参考-一个函数消耗来自服务总线队列的消息,另一个函数是从在线服务接收webhook的Http触发器。

tkqqtvp1

tkqqtvp11#

您不能在部署槽中部署单个函数触发器,因为部署槽是在函数应用程序级别而不是函数级别设置的。您可以在具有服务总线触发器和HTTP触发器的函数应用程序中具有多个函数,但部署槽将适用于函数应用程序级别,请参阅此文档:-
Azure Functions deployment slots | Microsoft Learn

我同意@Peter bons您可以使用服务总线队列触发函数部署一个函数应用程序,并将该函数应用程序添加到一个部署插槽,然后使用HTTP触发函数创建另一个函数应用程序,并在另一个部署插槽中创建该函数应用程序,同时保持两个函数应用程序中的配置设置相同,以便它们工作
我在一个函数应用程序中创建了一个服务总线队列触发器,并将该函数应用程序添加到一个部署槽。请参阅以下内容:-

您需要将一个部署槽保留为生产。默认情况下,将创建一个部署槽,并将功能应用程序设置为生产。您可以交换另一个部署槽,并将其作为生产进行激活,以便功能应用程序在其上运行。

在另一个Function应用中创建了一个HTTP触发器,并将其添加到另一个部署槽中。

请确保在Function App:-

相关问题