在Azure中使用GetEnvironmentVariable读取local.settings.json中的ConnectionStrings

时间:2018-08-10 12:46:29

标签: azure environment-variables azure-functions

在Azure函数 v1 中,我试图使用local.settings.json静态方法

读取GetEnvironmentVariable中存在的连接字符串。

这是我的local.settings.json文件

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true"
  },
  "ConnectionStrings": {
    "OnPremisesConnection": "Server=test;Initial Catalog=testdb;Integrated Security=SSPI;"
  }
}

使用以下代码读取连接字符串

string variableName = "OnPremisesConnection";
var res = Environment.GetEnvironmentVariable($"ConnectionStrings:{variableName}")

但是得到NULL作为结果。我在这里想念什么?

2 个答案:

答案 0 :(得分:0)

如上面的评论所讨论的,here提供了该问题的答案。

答案 1 :(得分:0)

好的。您可以尝试下一个:

var config = new ConfigurationBuilder()
            .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();
 
 string connectionStr = config["ConnectionStrings:OnPremisesConnection"]