VS 2017でAzure機能の開発を行っています。いくつかのカスタム構成パラメーターをセットアップする必要があります。 Values
の下のlocal.settings.json
に追加しました。
{
"IsEncrypted":false,
"Values" : {
"CustomUrl" : "www.google.com",
"Keys": {
"Value1":"1",
"Value2" :"2"
}
}
}
現在、ConfigurationManager.AppSettings["CustomUrl"]
はnullを返します。
。Net Framework: 4.7
Microsoft.NET.Sdk.Functions: 1.0.5
System.Configuration.ConfigurationManager:4.4.0
Azure.Functions.Cli: 1.0.4
何か不足していますか?
まず、サンプルを作成し、local.settings.jsonデータを使用してテストを行います。Mikhailとahmelsayが言ったように、それは正常に動作します。
さらに、私の知る限り、Values
コレクションはディクショナリであると予想されます。これに文字列以外の値が含まれていると、Azure関数がlocal.settings.jsonから値を読み取れなくなる可能性があります。
私のテスト:
ConfigurationManager.AppSettings["CustomUrl"]
は、次のlocal.settings.jsonでnullを返します。
{
"IsEncrypted": false,
"Values": {
"CustomUrl": "www.google.com",
"testkey": {
"name": "kname1",
"value": "kval1"
}
}
}
Environment.GetEnvironmentVariable("key")
上記のコード行を使用してlocal.settings.jsonから値を読み取ることができました。
TimeTriggerベースのAzure関数を使用している場合、以下のようにAzure関数から(local.settings.jsonで作成された)キーにアクセスできます。
[FunctionName("BackupTableStorageFunction")]
public static void Run([TimerTrigger("%BackUpTableStorageTriggerTime%")]TimerInfo myTimer, TraceWriter log, CancellationToken cancellationToken)