删除 Visual Studio 发布的 Azure 函数
Posted
技术标签:
【中文标题】删除 Visual Studio 发布的 Azure 函数【英文标题】:Deleting Azure Function Published by Visual Studio 【发布时间】:2019-01-25 06:33:48 【问题描述】:我已经通过 Visual Studio 发布了一个 Azure 函数。现在我想删除已发布的 Azure 函数,并且删除按钮已禁用。有没有办法删除VS发布的azure函数?
【问题讨论】:
【参考方案1】:在我们从 VS 发布代码后,Azure 门户会将函数设置为只读,以防止我们在门户中编辑预编译的资产。
如果我们使用网络部署(没有检查Run from package file
),
这里有两个选择:
直接在门户中删除所有功能。在门户中,停止 Function app 然后 Platform features
> App Service Editor
,删除除 host.json 之外的所有内容。
注意:我曾经提供了一个可行的解决方案--Platform features
>Function app settings
,将Function app edit mode
改为Read/Write
,然后我们就可以点击删除按钮了。这样我们可以删除特定的函数,但实际上我们并没有删除预编译的dll,这些dll可能会积累起来造成麻烦。
下次发布新功能时删除所有旧功能。在发布面板上,点击Manage Profile Settings
并勾选Remove additional files at destination
。
如果我们在发布时检查了Run from package file
,那么这些方法都不起作用。除了再次发布,我们可以去Platform features
>Application settings
,在应用设置部分去掉WEBSITE_RUN_FROM_PACKAGE
,函数应用就会变成空的。更多信息请参考announcement of Run from package。
使用这种方法,文件也会无声地累积,但不会导致新功能出错。要删除旧文件,Platform features
> Advanced tools (Kudu)
> Debug console(CMD)
并导航到 d:\home\data\SitePackages 以删除未使用的 zip。
【讨论】:
【参考方案2】:删除所有函数最简单的方法是这样做:
-
在您要处理的功能应用程序的门户中将 WEBSITE_RUN_FROM_PACKAGE 更改为 0
这将允许您在门户中为给定应用程序创建脚本函数
创建一个函数,此操作将删除包中的所有其他函数。
【讨论】:
【参考方案3】:看来这个问题已经在 Azure 中解决了。
-
从代码中删除不需要的函数
在 Azure 门户中停止您的 Azure 函数应用
在配置文件设置弹出窗口中启用“在目标位置删除其他文件”选项
再次重新发布解决方案,所有已删除的功能将从 Azure 门户中删除。
【讨论】:
以上是关于删除 Visual Studio 发布的 Azure 函数的主要内容,如果未能解决你的问题,请参考以下文章