【问题标题】:Not able to update host json via App Service Editor无法通过应用服务编辑器更新主机 json
【发布时间】:2021-12-28 18:30:26
【问题描述】:

有没有办法通过应用服务编辑器更新 Azure 函数的 host.json?在尝试相同时,我收到以下错误:

“保存‘host.json’失败。错误码:409”

【问题讨论】:

    标签: azure-functions azure-appservice


    【解决方案1】:

    当您使用 Visual Studio 或任何 CI/CD 工具(如 Azure DevOps)将应用程序发布到 Azure Function 时,您的应用程序将被编译(dll 文件)并打包到 zip 文件中,同时也变为只读以确保您不这样做不要尝试通过 Portal 编辑来修改它。

    如果您需要更新您的应用,请在 Visual Studio 中打开应用的代码,进行更改并重新发布。

    第 1 部分你需要禁用 readonly ,你可以这样做:

    如果您使用的是最新工具,您可能会发现您的函数应用处于从包运行模式,这意味着它直接从上传的 ZIP 中读取文件,因此无法对其进行编辑。您可以通过删除门户中的 WEBSITE_RUN_FROM_ZIP 或 WEBSITE_RUN_FROM_PACKAGE 应用程序设置来关闭它。请注意,这将在您下次发布之前清除您的函数应用。

    如果您的工具稍旧,或者您使用最新工具部署但使用 func azure functionapp publish my-app-name --nozip,那么您可以使用门户中平台功能中的应用服务编辑器来编辑 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。您还可以在门户中创建代理(如果不是只读的!),然后使用高级编辑器获取要添加到项目的源代码。

    更多详情请查看site

    【讨论】:

      【解决方案2】:

      我认为你可以使用“AzureFunctionsJobHost__path__to__setting”来添加/覆盖host.json设置

      "AzureFunctionsJobHost__functionTimeout": "05:00:00"
      

      在这里找到信息 - https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#override-hostjson-values

      顺便说一句,如果您根本不想超时并且您的层/计划支持这一点,我认为您可以使用“-1”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-17
        • 2016-08-13
        • 1970-01-01
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        • 1970-01-01
        相关资源
        最近更新 更多