Mik*_*ron 7 c# azure azure-functions
我正在尝试创建一个超级基本的 Azure 函数,但在使用环境变量时遇到了问题。按照网上的各种教程,
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
log.Info(config["AzureWebJobsStorage"]);
Run Code Online (Sandbox Code Playgroud)
我的 local.settings.json 看起来像这样:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<language worker>",
"AzureWebJobsStorage": "abc123",
"AzureWebJobsDashboard": "abc123",
"MyBindingConnection": "abc123"
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
当我在本地运行它时,那
log.Info(config["AzureWebJobsStorage"]);
Run Code Online (Sandbox Code Playgroud)
行没有返回任何内容......但是当我部署到 Azure 时,我在控制台中看到“abc123”。
但是,如果我将该行更改为
log.Info(config["Values:AzureWebJobsStorage"]);
Run Code Online (Sandbox Code Playgroud)
然后当我在本地运行时,我看到“abc123”,但是当我部署到 Azure 时,我什么也看不到。
我是否缺少能够以与本地与部署相同的方式访问环境变量的东西?
假设您使用面向 Azure Functions 的 ~2 运行时,您可以通过以下方式访问您的配置值:
log.Info(Environment.GetEnvironmentVariable("AzureWebJobsStorage", EnvironmentVariableTarget.Process));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8341 次 |
最近记录: |