Reading settings from a Azure Function

You can use System.Environment.GetEnvironmentVariable like this:

var value = Environment.GetEnvironmentVariable("your_key_here")

This gets settings whenever you're working locally or on Azure.


Note that for Azure Functions v2 this is no longer true. The following is from Jon Gallant's blog:

For Azure Functions v2, the ConfigurationManager is not supported and you must use the ASP.NET Core Configuration system:

  1. Include the following using statement:

    using Microsoft.Extensions.Configuration;
    
  2. Include the ExecutionContext as a parameter

    public static void Run(InboundMessage inboundMessage, 
        TraceWriter log,
        out string outboundMessage, 
        ExecutionContext context)
    
  3. Get the IConfiguration Root

    var config = new ConfigurationBuilder()
        .SetBasePath(context.FunctionAppDirectory)
        .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
        .AddEnvironmentVariables()
        .Build();
    
  4. And use it to reference AppSettings keys

    var password = config["password"]
    

When debugging locally, it gets the settings from local.settings.json under the "Values" keyword. When running in Azure, it gets the settings from the Application settings tab.