Most developers are familiar with defining configuration sections in appsettings.json or a json file, and then read it through IConfiguration. However, Azure Functions uses environment variables. Though there are ways you can use a json file in azure functions, it will hamper the flexibility of configuring azure functions.
Environment variables are stored as a key-value pair and therefore at top level, it may seem that there is no way to accomplish sections and values. However, you can always specify a section as below.
{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet", // This is the custom setting which would move to environment variable while deployment "MySection:Key1": "Value1", "MySection:Key2": "Value2" } }
The above settings goes to local.settings.json in a developer’s environment and to environment variables in Azure
Your code now can either call IConfiguration.GetSection(“MySection”).GetValue(“Key1”) or IConfiguration.GetValue(“MySection:Key1”)