[英]Why would my Azure Function not load my environment variables correctly in startup.cs?
[英]Azure Function Environment Variables
我正在尝试创建一个超基本的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时,什么也看不到。
我缺少能够以本地方式还是部署方式访问环境变量的东西吗?
假设您正在使用〜2运行时作为Azure函数的目标,则可以通过以下方式访问配置值:
log.Info(Environment.GetEnvironmentVariable("AzureWebJobsStorage", EnvironmentVariableTarget.Process));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.