尝试从门户网站中创建的Azure功能访问应用程序设置。
找不到ConfgiurationBuilder命名空间的当前问题。
我最终得到了以下代码,对于应该鼓励使用的东西来说似乎有些冗长。
到目前为止,我发现的大多数资源都仅涉及Visual Studio使用启动绑定构建的Azure函数。
.net核心c#函数。 版本2功能。
首先-功能应用程序中的设置设置平台设置/常规设置/配置
然后输入功能代码:
代码看起来像这样
#r "Newtonsoft.Json"
#r "System.Configuration.ConfigurationManager"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using Microsoft.Extensions.Configuration;
public static async Task<string> Run(HttpRequest req, ILogger log,
ExecutionContext context) {
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
var app_setting = config["MyAppSetting"];
return app_setting;
}
如上所述,它具有的问题
答案 0 :(得分:1)
完成功能应用程序并将其更新到门户后。 local.setting.json
的值将在Azure门户中已发布功能应用程序的“应用程序设置”选项卡下(请参见图片)。因此,在门户网站上,如果要更改应用程序设置,则需要对“应用程序设置”进行操作。
因此,如果您想访问应用程序设置,可以使用以下方法:
var environmentmyDesiredKey = Environment.GetEnvironmentVariable("MyAppSetting");
获取在“应用程序设置”中设置的'MyAppSetting'
。(请不要忘记using System.Configuration;
)
事情在我这边起作用。如果您还有其他问题,请告诉我。
答案 1 :(得分:1)
请尝试
Environment.GetEnvironmentVariable("appSettingName", EnvironmentVariableTarget.Process);
答案 2 :(得分:0)
您可以像这样使用 GetEnvironmentVariable :
#r "Newtonsoft.Json"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
using Microsoft.Extensions.Configuration;
public static async Task<string> Run(HttpRequest req, ILogger log) {
var app_setting = System.Environment.GetEnvironmentVariable("MyAppSetting");
return app_setting;
}