2

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?

Ali Hasan
  • 121
  • 8

1 Answers1

1

You are using AppConfiguration provider library that supports read operations only. For all read/write/delete operations, you can use Azure.Data.AppConfiguration SDK.

Avani Gupta
  • 204
  • 1
  • 3