代码之家  ›  专栏  ›  技术社区  ›  Liquid Core

Azure函数:部署后从host.json读取配置

  •  2
  • Liquid Core  · 技术社区  · 8 年前

    我用C#制作了一个azure函数。 我使用local.settings.json进行本地测试。一切正常工作

    ConfigurationManager.Appsettings["key"]
    

    现在我已经出版了。什么都不管用了。json在那里,我可以浏览function app settings选项卡,可以看到配置Host.json和所有值。

    {
      "IsEncrypted": false,
      "Values": {
        "MYCONFIG": "HEY",
        "THEOTHERCONFIG" : "WHASSUP"
      }
    }
    

    如果我在本地运行,一切正常。 如果我发布,所有值都将为空。

        ConfigurationManager.Appsettings["key"]
    

    和

    System.Environment.GetEnvironmentVariable("MYCONFIG", EnvironmentVariableTarget.Process);
    

    什么都不管用。

    Here 我看到他们甚至没有提到host.json文件,他们只是说你必须手动将它们放到azure门户中。。。。这是非常不切实际的。

    谢谢你

    1 回复  |  直到 8 年前
        1
  •  2
  •   Tom Sun    8 年前

    中的设置 local.settings.json本地设置 文件是 仅在本地运行时由函数工具使用 未迁移 当项目发布到Azure时自动执行。 我们可以用 Azure Functions Core Tools 轻松地将local.setting.json发布到Azure。

    func azure functionapp publish azurefunctionname --publish-local-settings
    

    host.json 元数据文件包含影响函数应用程序的所有函数的全局配置选项。

    host.json不适用于配置Azure函数appsettings。

    正如Thomas提到的,你可以在azure函数的appsettings刀片中配置它。

    enter image description here

    如果你想委托一些开发和测试,你必须给他们证书。。。多么可笑

    Key vault 和 Azure function MSI 以避免共享您的凭据。