我正在用几个api密钥在本地测试azure函数。什么是存储环境变量的最佳地点,以及如何访问它们?我试图存储环境变量的最佳地点
System.Environment.GetEnvironmentVariable("name")}
,但我不知道那里的环境变量存储。
谢谢!
我正在用几个api密钥在本地测试azure函数。什么是存储环境变量的最佳地点,以及如何访问它们?我试图存储环境变量的最佳地点
System.Environment.GetEnvironmentVariable("name")}
,但我不知道那里的环境变量存储。
谢谢!
你应该有一个名为local.settings.json的文件。下面是Functions-Run-Local
蔚蓝的网站它指出
这些设置也可以在你的代码的环境变量读取。在C#中,使用System.Environment.GetEnvironmentVariable或ConfigurationManager.AppSettings。在JavaScript中,使用process.env。指定为系统环境变量的设置优先于local.settings.json文件中的值。
例如local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<connection string>",
"AzureWebJobsDashboard": "<connection string>"
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
},
"ConnectionStrings": {
"SQLConnectionString": "Value"
}
}
它说,你需要把下local.settings.json内值属性的应用程序设置。
检索我使用ConfigurationManager.AppSettings["CustomSetting"]
,因为它允许您检索连接字符串。
我刚刚玩过这个,发现你必须有一个字符串键和一个字符串值。当我尝试了一个小节时(例如在appsettings.json中),我得到了一个错误。我不得不让local.settings.json看起来像这样:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<connection string>",
"AzureWebJobsDashboard": "<connection string>"
"CustomSetting":"20"
}
}
要存储API密钥,您可以使用应用程序设置。细节: https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings#application-settings
为了获得环境变量或一个应用程序的设定值,使用System.Environment.GetEnvironmentVariable,作为显示在下面的代码例如:
public static void Run(TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
log.Info(GetEnvironmentVariable("AzureWebJobsStorage"));
log.Info(GetEnvironmentVariable("WEBSITE_SITE_NAME"));
}
public static string GetEnvironmentVariable(string name)
{
return name + ": " +
System.Environment.GetEnvironmentVariable(name, EnvironmentVariableTarget.Process);
}
由于,Alexey
不错的文章。浏览天蓝色的页面很难找到这样的内容。我实际上希望在本地进行测试,而不需要将设置存储在Azure中,我从上面收集的关键字/值对属于appSettings.json属性下的属性。 – DarthVadar123451
你可以举一个local.settings.json如何查找AzureWebJobsStorage和WEBSITE_SITE_NAME的例子吗? – chris31389
看起来您可以在Azure中使用env变量,并在本地运行时将其设置在visual studio中:https://msdn.microsoft.com/en-us/library/669zx6zc.aspx#设置构建的环境变量 – th3morg
将键/值对放入“Values”属性下的appsettings.json文件中。
你用这个做环境转化吗?即我的开发环境值与产品不同。 –
您可以通过更新Azure中的函数应用程序来控制此:) – chris31389
谢谢!刚刚发现,昨晚。 –