如何在Azure Function App中禁用只读模式?

Mah*_*hdi 6 azure-functions azure-functions-core-tools

我从Azure门户创建了一个新的Function App(v2)。然后,借助Azure Functions核心工具v2.3在本地计算机上启动一个新应用,并将其发布到门户上的新应用中:

func init
func new
func azure functionapp publish my-app-name
Run Code Online (Sandbox Code Playgroud)

这使我的应用程序进入只读模式。但是我需要能够从门户更改应用程序,因为我需要创建代理(Core Tools无法创建代理,如果我错了,请更正我)。如何禁用只读模式?

以下是我的local.settings.json的内容:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsStorage": "{AzureWebJobsStorage}"
  }
}
Run Code Online (Sandbox Code Playgroud)

仅供参考,我在macOS High Sierra上进行开发。

Mar*_*kXA 9

第1部分-禁用只读模式

您可能会发现您是否正在使用功能应用程序处于“从程序包运行”模式的最新工具,这意味着它正在直接从上传的ZIP中读取文件,因此无法对其进行编辑。您可以通过删除门户中的WEBSITE_RUN_FROM_ZIPWEBSITE_RUN_FROM_PACKAGE应用程序设置将其关闭。请注意,这将清除您的功能应用程序,直到您下次发布为止。

如果您的工具较旧,或者已使用最新工具进行部署,func azure functionapp publish my-app-name --nozip则可以使用门户网站平台功能中的App Service编辑器来编辑function.json文件并删除"generatedBy"设置,这将停止它们是只读的。

第2部分-创建代理

您可以通过proxies.json在应用程序根目录(以及host.json)中填充文件来将代理添加到本地项目。有关更多信息,访问https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-proxies,一些示例请参见https://docs.microsoft.com/zh-cn/sandbox/功能-配方/代理。您也可以在门户中创建代理(当不是只读时!),然后使用高级编辑器获取将其添加到项目中的源。


小智 9

现在似乎可以从门户或通过编辑应用程序设置来更改此设置。 FUNCTION_APP_EDIT_MODE允许值readwritereadonly,根据手册

在以下问题中也会对此进行一些讨论。似乎建议通常不这样做,因为应该通过发布管道进行更改,但现在可以了。


小智 6

在 azure 版本中将部署设置从“自动检测”更改为“Zip 部署”。

“其他部署选项”部分中的“部署方法”下拉列表的屏幕截图。 下拉菜单设置为 Zip 部署。