Azure Functions 应用程序在发布后为只读

Azure Functions App is Read Only after publishing

我有几个 Azure Functions 应用程序(c#、javascript 和 python),一段时间后它们都随机设置为只读模式。奇怪的是,在这发生之前,这 3 个功能应用程序中只有一个被更新。我知道这不一定是个问题,但我希望能够从门户进行编辑。

我无法打开应用服务编辑器

我无法通过功能应用设置 -> 功能应用编辑模式将应用设置为 Read/Write 我也尝试使用 "func azure functionapp publish myAzFuncAppName --nozip",但结果相同

您可以从 Azure 门户或通过编辑应用程序设置来更改设置。 FUNCTION_APP_EDIT_MODE 允许值读写和只读,a

当应用程序从包中运行时,文件将从该包中加载。因此,这些文件不可编辑。

您需要在应用程序设置中设置WEBSITE_RUN_FROM_PACKAGE : 0并再次重新部署应用程序才能使功能应用程序可编辑。

参考https://social.msdn.microsoft.com/Forums/en-US/972d843c-8bdc-4cfc-9c6d-263df196d37c/azure-function-app-readonly-mode?forum=AzureFunctions

更新:

您可以从 visual studio 代码通过命令行部署 functionapp。试试下面的命令。

func azure functionapp publish --nozip

nozip 标志会关闭 Run-From-Package 模式。

您可以使用 func azure functionapp publish --help

访问有关该命令的其他信息

刚刚删除了 Azure Function App,创建了一个新的,将代码转移到新的并部署 -> 仍然是只读的,但现在我可以打开 "App Service Editor" 并删除 "generated by..." 从 function.json 开始,然后从函数应用程序设置 -> 函数应用程序编辑模式设置 "Read/Write"。

仍然...我不能 see/edit 函数的代码,只有 function.json 并且如果我使用 Visual Code 的 Azure 扩展或带有 --nozip 属性的 powershell 重新部署, "generated bla bla"又出现了:(

当然可以。请注意,如果函数'deployed'到Azure,部署的是编译后的文件。

比如部署C#函数应用,部署的是dll文件。所以这就是为什么它是只读的。

对代码的修改应该在编译成相应的'cannot be edited'文件之前完成,这一点需要特别注意。

但是对于函数的声明部分和配置部分的修改,这是可以的,具体步骤如下:

声明部分:

然后点击调试控制台 > cmd:

转到site\wwwroot[yourfunctionname],然后会有一个function.json。

点击'pen'进行编辑,别忘了保存。

配置部分: