删除 Visual Studio 发布的 Azure 函数

Deleting Azure Function Published by Visual Studio

我已经通过 visual studio 发布了一个 Azure 函数。现在我想删除已发布的 Azure 函数,删除按钮被禁用。有没有办法删除从VS发布的azure函数?

当我们从 VS 发布代码后,Azure 门户会将功能设置为只读,以防止我们在门户中编辑预编译的资产。

如果我们使用网络部署(没有检查Run from package file),

这里有两个选择:

  1. 直接在门户中删除所有功能。在门户中,停止功能应用程序然后 Platform features> App Service Editor,删除除 host.json.

    之外的所有内容

    注:我曾经提供过一个似是而非的解决方案--Platform features> Function app settings,将Function app edit mode改为Read/Write,然后我们可以点击删除按钮。这样我们可以删除特定的功能,但实际上我们并没有删除预编译的dll,这些dll可能会堆积起来造成麻烦。

  2. 下次发布新功能时删除所有旧功能。在发布面板上,单击 Manage Profile Settings 并选中 Remove additional files at destination

如果我们在发布时勾选了 Run from package file,那么 none 的方法就可以了。除了再次发布,我们可以去 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。

删除所有函数最简单的方法是这样做:

  1. 在您要处理的函数应用程序的门户中将 WEBSITE_RUN_FROM_PACKAGE 更改为 0
  2. 这将允许您在门户中为给定的应用程序创建脚本函数
  3. 创建一个函数,此操作将删除包中的所有其他函数。

看来这个问题已经在 Azure 中解决了。

  1. 从代码中删除不需要的函数
  2. 在 Azure 门户中停止您的 Azure 函数应用程序
  3. 在配置文件设置弹出窗口中启用“删除目标位置的其他文件”选项
  4. 再次重新发布解决方案,所有删除的功能将从 Azure 门户中删除。