I have a question that bothers me. Is it possible to modify an app configuration value from a function app in runtime?
I made the changes to Startup as per the documentation.
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options.Connect(Environment.GetEnvironmentVariable("ConnectionString")).Select("FunctionApp:*").ConfigureRefresh(refreshOptions =>
{
refreshOptions.Register("FunctionApp:Replication:StorageAccount", refreshAll: true);
});
});
}
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.AddAzureAppConfiguration();
}
and the function app:
public Function2(IConfiguration configuration, IConfigurationRefresherProvider refresherProvider)
{
_configuration = configuration;
_configurationRefresher = refresherProvider.Refreshers.First();
}
[FunctionName("Function2")]
public async task run ([TimerTrigger ("*/30 * * * *")]) TimerInfo myTimer, ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
await _configurationRefresher.TryRefreshAsync();
// Read configuration data
string message = _configuration["FunctionApp:Replication:StorageAccount"];
}
private readonly IConfiguration _configuration;
private readonly IConfigurationRefresher _configurationRefresher;
so I can read the app configuration. But what should I do if I want to change the value in the app configuration while the function is running ? And it is a good practice?