我正在尝试创建一个超基本的Azure函数,但是在环境变量方面遇到了麻烦。在线阅读各种教程,
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
log.Info(config["AzureWebJobsStorage"]);
我的local.settings.json看起来像这样:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<language worker>",
"AzureWebJobsStorage": "abc123",
"AzureWebJobsDashboard": "abc123",
"MyBindingConnection": "abc123"
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
}
}
当我在本地运行时,
log.Info(config["AzureWebJobsStorage"]);
该行什么也不会返回...但是当我部署到Azure时,我会在控制台中看到“ abc123”。
但是,如果我将该行更改为
log.Info(config["Values:AzureWebJobsStorage"]);
然后,当我在本地运行时,我看到“ abc123”,但是当我部署到Azure时,我什么也看不到。
是否缺少能够以本地方式或部署方式访问环境变量的东西?