在 Azure Function 中覆盖 function.json 的问题

Posted

技术标签:

【中文标题】在 Azure Function 中覆盖 function.json 的问题【英文标题】:Problem with overwriting function.json in Azure Function 【发布时间】:2021-08-30 04:30:21 【问题描述】:

我想问你关于我当前问题的解决方案。 首先,我想强调的是,即使在***上可以找到非常相似的文章,它也不是重复的。

我的天蓝色函数的行为:

当配置属性“WEBSITE_RUN_FROM_PACKAGE”设置为1时,“功能”中的功能可用,我得到以下信息:

您的应用当前处于只读模式,因为您正在从 包文件。要进行任何更改,请更新 zip 文件中的内容 和 WEBSITE_RUN_FROM_PACKAGE 应用设置。

根据 *** 文章将属性值更改为 0 应该使 function.json 可编辑。但是我得到了第二个信息:

您的应用目前处于只读模式,因为您有源 已启用控件集成。

还有什么功能“功能”中不存在记录器,并且在 wwwroot/sites 中 Kudu 的调试控制台上没有更多功能。

【问题讨论】:

【参考方案1】:

对于第一个信息,您应该将 WEBSITE_RUN_FROM_PACKAGE 设置为 0。

第二条信息:

您的应用目前处于只读模式,因为您有源 已启用控件集成。

这意味着你已经为你的函数应用设置了持续部署。您应该通过以下步骤禁用它:

导航到 azure 门户 -> 您的函数应用 -> 部署中心,然后单击断开连接按钮(如果来源不同,可能会略有不同)。这是截图:

记得在对函数应用进行一些更改后再次启用持续部署。

【讨论】:

所以@Ivan Yang 您的方法允许我从“功能”中删除一条警告消息,但正如我所提到的,这不是主要问题。主要问题是,在将值更改为 0 后,我在“功能”中看不到任何功能(看屏幕)。 @azuremycraj,你是如何部署你的天蓝色功能的?如果您使用run from package 部署它,那么即使WEBSITE_RUN_FROM_PACKAGE=0,您也看不到该功能。您应该考虑重新部署此功能,而不是使用 run from package。 嘿,我正在使用来自 CI/CD 的 zip 工件 你好,可以先将website_run_from_package设置为0,然后重新部署函数吗?【参考方案2】:

由于您的应用是从 github 管道部署的,您应该更改源代码中的属性并部署新版本。 如果您将 WEBSITE_RUN_FROM_PACKAGE 更改为 0,则在下次部署期间将覆盖所有属性。

【讨论】:

以上是关于在 Azure Function 中覆盖 function.json 的问题的主要内容,如果未能解决你的问题,请参考以下文章

func函数1

覆盖require函数

JavaScript初步

为什么不在vunc Azure功能应用程序的func.exe控制台窗口中显示ILogger.LogTrace消息

Azure 函数队列为空

VSCode中的Python Azure函数(HTTPTrigger)上的调试未正确启动Func Host Start