![](/img/trans.png)
[英]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.