【问题标题】:Azure Function Python docker container: Unable to find an Azure Storage connection string to use for this bindingAzure Function Python docker 容器:找不到用于此绑定的 Azure 存储连接字符串
【发布时间】:2020-03-10 00:48:05
【问题描述】:

我无法让我的 Azure 函数(python、计时器触发器)在 docker 容器中工作。在 docker 容器之外,一切正常。但是一旦我启动我的容器,我就会收到一条错误消息:

失败:Host.Startup[515] 发生主机错误 System.InvalidOperationException:找不到用于此绑定的 Azure 存储连接字符串。

我的连接字符串在我的 local.settings.json 中定义。我不知道为什么这在 docker 容器中不起作用,有没有人处理过这个问题?我很感激任何方向,谢谢。

编辑:只是澄清一下,这发生在我的本地机器上。我还没有部署。

【问题讨论】:

    标签: python azure docker azure-functions


    【解决方案1】:

    正如我之前所说,我在 local.settings.json 中定义了我的连接字符串。我最终访问了容器的文件系统,并验证了我的 local.settings.json 确实在那里。我最终在我的 docker 文件 (AzureWebJobsStorage={YOURCONNNECTIONSTRINGHERE}) 中添加了我的连接字符串作为环境变量并让它工作。希望这对遇到此问题的人有所帮助。

    【讨论】:

    • 谢谢你。我的错误信息略有不同:Microsoft.Azure.WebJobs.Extensions.Storage: Storage account connection string 'Storage' does not exist. Make sure that it is a defined App Setting. 但解决方案是相同的。干杯!
    【解决方案2】:

    解释在这个 github issue 中。

    基本上 local.settings.json 只被本地 CLI 使用,它完全被运行时忽略

    【讨论】:

    【解决方案3】:

    我们可以将连接字符串作为名为 AzureWebJobsStorage 的环境变量传递给 docker run 命令。

    docker run -p 8080:80 -it -e AzureWebJobsStorage="{connection-string}" <docker-id>
    

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2017-10-15
      相关资源
      最近更新 更多