我不熟悉Azure的功能......我创建了一个新的计时器功能(将每30分钟触发一次),它必须对网址执行查询,然后推送缓冲区上的数据..
我已经完成了
public static void Run(TimerInfo myTimer, TraceWriter log)
{
var s = CloudConfigurationManager.GetSetting("url");
log.Info(s);
}
在我的功能设置中我已经
我做错了什么? 感谢
答案 0 :(得分:36)
请注意,对于Azure Functions v2,这不再成立。 以下来自Jon Gallant's blog:
对于Azure Functions v2,不支持ConfigurationManager,并且您必须使用ASP.NET Core配置系统:
包括以下使用声明:
using Microsoft.Extensions.Configuration;
将ExecutionContext包含为参数
public static void Run(InboundMessage inboundMessage,
TraceWriter log,
out string outboundMessage,
ExecutionContext context)
获得IConfiguration
根
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
并使用它来引用AppSettings键
var password = config["password"]
在本地调试时,它从local.settings.json
的“值”关键字下获取设置。在Azure中运行时,它将从“应用程序设置”选项卡中获取设置。
答案 1 :(得分:13)
您需要转到平台功能 - >应用程序设置并将其添加到那里。
添加应用设置下的设置。
首先在顶部添加此内容即可完成阅读设置:
using System.Configuration;
然后阅读设置:
string setting = ConfigurationManager.AppSettings["url"];
url
是您的设置键。 setting
变量将包含您的设置值。
答案 2 :(得分:11)
您可以像这样使用System.Environment.GetEnvironmentVariable
:
var value = Environment.GetEnvironmentVariable("your_key_here")
无论您在本地还是在Azure上工作,这都会获取设置。
答案 3 :(得分:0)