Yazılım Geliştiriciler için Azure: Azure App Configuration – Bölüm 2
  1. Anasayfa
  2. Microsoft Azure

Yazılım Geliştiriciler için Azure: Azure App Configuration – Bölüm 2

0

İlk bölümde Azure Portal üzerinden App Configuration servisi oluşturup, console uygulaması üzerinden konfigürasyon değerini çekmiştim. Ancak bu durumda değeri Azure Portal üzerinden değiştirirsem uygulamayı da yeniden başlatmam gerekecek. Bu çoğu (belki de her) zaman istediğimiz bir durum olmadığından, dinamik bir konfigürasyona ihtiyacımız var. Azure App Configuration, bize bu konuda 2 farklı seçenek sağlıyor.

  1. Poll model: Bu modelde konfigürasyon değerini aralıklarla servisten sorgulayarak bir güncelleme olduğunda yeni değeri alabiliyoruz.
  2. Push model: Bu modelde ise App Configuration Events kullanarak, event’leri Azure Event Grid‘e göndererek webhook, Azure Function ya da Service Bus topic kullanarak güncel değeri uygulamaya iletebiliyoruz.

Bu bölümde Poll model üzerinden bu işlemleri nasıl gerçekleştirebileceğimize basit bir console uygulaması üzerinden bakalım. Burada ilk bölümdeki örneğe ek olarak ConfigureRefresh methodu ile takip edeceğimiz değeri register edip, GetRefresher methodu ile IConfigurationRefresher tipindeki configurationRefresher değişkenini set ediyorum. Burada diğer önemli kısım ise poll işlemini yapacak olan TryRefreshAsync methodu, bunu da async olarak bir while döngüsü içerisine ekliyorum. Bu döngü içerisinde de 5 saniyelik aralıklarda bu methodu çağırarak bir değişiklik olup olmadığını kontrol ediyorum.

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;

var builder = new ConfigurationBuilder();
IConfigurationRefresher configurationRefresher = null;

builder.AddAzureAppConfiguration(options =>
{
    options.Connect("Endpoint=https://mshowto-appconfig.azconfig.io;Id=***;Secret=***")
           .ConfigureRefresh(refresh => refresh.Register("mshowtoconsoleapp:settings:key1"));

    configurationRefresher = options.GetRefresher();
});

var config = builder.Build();

Task.Run(async () =>
{
    while (true)
    {
        Console.WriteLine($"Key1: {config["mshowtoconsoleapp:settings:key1"]}");

        await configurationRefresher.TryRefreshAsync();
        await Task.Delay(5000);
    }
}).Wait();

Uygulamayı dotnet run ile çalıştırdıktan sonra terminal ekranında mevcut key1 değeri olan mshowtoconsoleapp-val1 değerini görüyorum (Resim-2). Uygulamayı kapatmadan Azure Portal üzerinden bu değeri mshowtoconsoleapp-val2 olarak değiştirip kaydediyorum (Resim-1).

Resim-1

Terminal ekranında kısa bir süre sonra mshowtoconsoleapp-val2 değerini görebiliyorum (Resim-2).

Resim-2

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Azure App Configuration documentation | Microsoft Docs

NuGet Gallery | Microsoft.Extensions.Configuration.AzureAppConfiguration 5.0.0

TAGs: Azure, Yazılım Geliştiriciler için Azure, App Configuration, Azure App Configuration, Configuration, Azure Key Vault, .NET, Console App

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 1
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir