如何在 Azure Function App 中禁用只读模式?
How to disable Read Only mode in Azure Function App?
我从 Azure 门户创建了一个新的 Function App (v2)。然后我在 Azure Functions Core Tools v2.3 的帮助下在我的本地计算机上启动一个新应用程序,并将它发布到我在门户上的新应用程序:
func init
func new
func azure functionapp publish my-app-name
这会将我的应用置于只读模式。但是我需要能够从门户更改应用程序,因为我需要创建代理(核心工具无法创建代理,如果我错了请纠正我)。如何禁用只读模式?
以下是我的local.settings.json内容:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsStorage": "{AzureWebJobsStorage}"
}
}
仅供参考,我正在 macOS High Sierra 上开发。
第 1 部分 - 禁用只读模式
如果您使用的是最新工具,您可能会发现您的函数应用程序处于 运行-from-package 模式,这意味着它直接从上传的 ZIP 中读取文件,因此没有编辑它的方法。您可以通过删除门户中的 WEBSITE_RUN_FROM_ZIP
或 WEBSITE_RUN_FROM_PACKAGE
应用程序设置来关闭它。请注意,这将在您下次发布之前清除您的函数应用程序。
如果您的工具有点旧,或者如果您使用最新的工具进行部署但使用 func azure functionapp publish my-app-name --nozip
,那么您可以使用门户平台功能中的应用服务编辑器来编辑 function.json 文件并删除 "generatedBy"
设置,这将阻止它们成为只读的。
第 2 部分 - 创建代理
您可以通过在应用程序根目录(与 host.json
一起)填充 proxies.json
文件来将代理添加到您的本地项目。更多信息位于 https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies, and a few examples are at https://docs.microsoft.com/en-us/sandbox/functions-recipes/proxies。您还可以在门户中创建代理(当不是只读时!),然后使用高级编辑器获取要添加到项目中的源。
看来现在可以从门户或通过编辑应用程序设置来更改此设置。
根据 the manual
,FUNCTION_APP_EDIT_MODE
允许值 readwrite
和 readonly
下期还有一些discussion of this。
似乎建议一般不要这样做,因为应该通过发布管道进行更改,但现在可以了。
在 Azure 版本中将部署设置从自动检测更改为 Zip 部署。
see here
我从 Azure 门户创建了一个新的 Function App (v2)。然后我在 Azure Functions Core Tools v2.3 的帮助下在我的本地计算机上启动一个新应用程序,并将它发布到我在门户上的新应用程序:
func init
func new
func azure functionapp publish my-app-name
这会将我的应用置于只读模式。但是我需要能够从门户更改应用程序,因为我需要创建代理(核心工具无法创建代理,如果我错了请纠正我)。如何禁用只读模式?
以下是我的local.settings.json内容:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsStorage": "{AzureWebJobsStorage}"
}
}
仅供参考,我正在 macOS High Sierra 上开发。
第 1 部分 - 禁用只读模式
如果您使用的是最新工具,您可能会发现您的函数应用程序处于 运行-from-package 模式,这意味着它直接从上传的 ZIP 中读取文件,因此没有编辑它的方法。您可以通过删除门户中的 WEBSITE_RUN_FROM_ZIP
或 WEBSITE_RUN_FROM_PACKAGE
应用程序设置来关闭它。请注意,这将在您下次发布之前清除您的函数应用程序。
如果您的工具有点旧,或者如果您使用最新的工具进行部署但使用 func azure functionapp publish my-app-name --nozip
,那么您可以使用门户平台功能中的应用服务编辑器来编辑 function.json 文件并删除 "generatedBy"
设置,这将阻止它们成为只读的。
第 2 部分 - 创建代理
您可以通过在应用程序根目录(与 host.json
一起)填充 proxies.json
文件来将代理添加到您的本地项目。更多信息位于 https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies, and a few examples are at https://docs.microsoft.com/en-us/sandbox/functions-recipes/proxies。您还可以在门户中创建代理(当不是只读时!),然后使用高级编辑器获取要添加到项目中的源。
看来现在可以从门户或通过编辑应用程序设置来更改此设置。 根据 the manual
,FUNCTION_APP_EDIT_MODE
允许值 readwrite
和 readonly
下期还有一些discussion of this。 似乎建议一般不要这样做,因为应该通过发布管道进行更改,但现在可以了。
在 Azure 版本中将部署设置从自动检测更改为 Zip 部署。
see here