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

时间:2018-12-05 11:02:04

标签: 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

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

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

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsStorage": "{AzureWebJobsStorage}"
  }
}

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

3 个答案:

答案 0 :(得分:5)

第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/en-us/azure/azure-functions/functions-proxies,一些示例在https://docs.microsoft.com/en-us/sandbox/functions-recipes/proxies。您还可以在门户网站中创建代理(当不是只读时!),然后使用高级编辑器获取将其添加到项目中的源代码。

答案 1 :(得分:1)

现在看来可以从门户网站或通过编辑应用程序设置来更改此设置。 根据{{​​3}}

FUNCTION_APP_EDIT_MODE允许值readwritereadonly

以下问题中也有the manual。 似乎一般不建议这样做,因为应该通过发布管道进行更改,但是现在可以。

答案 2 :(得分:0)

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

see here