通过 Visual Studio 2017 发布 Azure 函数项目后,所有函数应用都变为只读模式

Pin*_*ong 5 azure azure-functions visual-studio-2017

我有一个通过 Portal 创建的功能应用程序,另一个由 Visual Studio 创建。后一个导致两个应用程序都变为只读,并显示以下消息:

您的应用程序当前处于只读模式,因为您已发布生成的 function.json。Functions 运行时不会支持对 function.json 所做的更改

这个功能正确吗?

对比:15.8.5

Jer*_*Liu 5

是的,这是设计使然。Function Apps您提到的应该在同一个 Function 应用程序中称为函数。

你在门户上创建了一个函数应用程序和一个函数,然后在 VS 中你实际上也创建了一个函数应用程序而不是一个单独的函数。将此预编译函数应用程序发布到具有一些现有函数的应用程序后,Azure 认为您想使用新发布的应用程序,因此将应用程序设置为只读,因为我们无法修改门户上的预编译资产除非我们重新发布我们的代码。

此操作是设计使然,因为一个 Function 应用程序(其中包含函数)作为一个完整的单元进行处理。因此,显然不建议将在线开发与预编译的开发混合使用。

两种选择供你参考。

  1. 删除应用程序中的现有功能。Remove additional files at destination从 VS 发布时检查。

    在此处输入图片说明

  2. 创建另一个函数应用程序。

例如,混合来自 VS 的在线代码和预编译代码存在风险

  1. 姓名限制。如果我们发布同名函数,在线创建的函数将被覆盖。

  2. Remove additional files at destination即使之前发布的一些预编译的 dll 没有用,我们也无法检查。

如果只是为了测试或者不担心潜在风险,只需在功能应用设置中将功能应用编辑模式更改为读写或FUNCTION_APP_EDIT_MODE在应用设置中添加读写。