Кроме того, для получения значений из local.settings.json, другой способ - создать объект IConfigurationRoot, используя ExecutionContext executionContext
.
ExecutionContext может быть добавлен к определению функции:
[FunctionName("FunctionName")]
public static async Task Run(
[ServiceBusTrigger(...)]
SomeMessage msg,
ILogger log,
ExecutionContext executionContext)
{
}
После этого вы можете создать экземпляр IConfigurationRoot, который вы можете дополнительно загрузить local.appsettings.json.
var configurationRoot = new ConfigurationBuilder()
.SetBasePath(executionContext.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
С помощью объекта configurationRoot вы можете получить значения конфигурации:
var value = configurationRoot["SomeKey"];
Пример local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "...",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"SomeKey": "Value",
},
"Host": {
"LocalHttpPort": "7071"
}
}