Aracılığıyla paylaş


Öğretici: Azure İşlevleri uygulamasında dinamik yapılandırmayı kullanma

Bu öğreticide, Azure İşlevleri uygulamanızda dinamik yapılandırma güncelleştirmelerini nasıl etkinleştirebileceğiniz gösterilir. Hızlı başlangıçlarda sunulan Azure İşlevleri uygulamasını temel alır. Devam etmeden önce Azure Uygulama Yapılandırması ile Azure İşlevleri uygulaması oluşturma işlemini tamamlayın.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure İşlevleri uygulamanız için dinamik yapılandırma yenilemesini ayarlayın.
  • Uygulama Yapılandırması ara yazılımını kullanarak otomatik yapılandırma yenilemesini etkinleştirin.
  • Uygulama Yapılandırma deponuzda değişiklikler olduğunda İşlev çağrılarında en son yapılandırmayı kullanın.

Önkoşullar

Uygulama Yapılandırması'dan verileri yeniden yükleme

Azure Uygulama Yapılandırması .NET sağlayıcısı, uygulama etkinliğine göre yapılandırma ayarlarını önbelleğe almayı ve dinamik yenilemeyi destekler. Bu bölümde sağlayıcıyı ayarları dinamik olarak yenilemek ve bir işlev her yürütürken Uygulama Yapılandırması ara yazılımını Microsoft.Azure.AppConfiguration.Functions.Workerkullanarak otomatik yapılandırma yenilemesini etkinleştirmek için yapılandıracaksınız.

Uyarı

Azure Uygulama Yapılandırması , yalıtılmış çalışan modelinde veya işlem içi modelde Azure İşlevleri ile kullanılabilir. Bu öğreticide örnek olarak yalıtılmış çalışan modeli kullanılır. Her iki model için tam kod örneklerini Azure Uygulama Yapılandırması GitHub deposunda bulabilirsiniz.

  1. Program.cs dosyasını açın ve AddAzureAppConfiguration çağrısını ConfigureRefresh yöntemini içerecek şekilde güncelleştirin. Bu yöntem, izlenecek anahtarları ve yenileme denetimleri arasındaki aralığı belirterek yapılandırma ayarlarının yenileme koşullarını yapılandırır.

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? 
            throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty."));
        options.Connect(endpoint, new DefaultAzureCredential())
               // Load all keys that start with `TestApp:` and have no label
               .Select("TestApp:*")
               // Reload configuration if any selected key-values have changed.
               // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval.
               .ConfigureRefresh(refreshOptions =>
               {
                   refreshOptions.RegisterAll();
               });
    });
    

    Uygulama Yapılandırması sağlayıcısına, seçilen anahtar değerlerinden herhangi birinde (RegisterAll başlayanlar: ve etiketi olmayanlar) bir değişiklik algılasa tüm yapılandırmayı yeniden yüklemesini bildirmek için yöntemini çağırırsınız. Yapılandırma değişikliklerini izleme hakkında daha fazla bilgi için bkz. Yapılandırma yenileme için en iyi yöntemler.

    Varsayılan olarak yenileme aralığı 30 saniye olarak ayarlanır. Yöntemini çağırarak AzureAppConfigurationRefreshOptions.SetRefreshInterval bu aralığı özelleştirebilirsiniz.

  2. Uygulama Yapılandırması ara yazılımını ekleyerek her işlev yürütmesinde otomatik yapılandırma yenilemesini etkinleştirmek için Program.cs dosyasını güncelleştirin:

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware to the service collection.
    builder.Services.AddAzureAppConfiguration()
    
    // Use Azure App Configuration middleware for dynamic configuration refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    

İşlevi yerel olarak test etme

  1. ortam değişkenini ayarlayın.

    AZURE_APPCONFIG_ENDPOINT adlı ortam değişkenini Azure portalındaki mağazanıza genel bakış bölümünde bulunan Uygulama Yapılandırması deponuzun uç noktasına ayarlayın.

    Windows komut istemini kullanıyorsanız, aşağıdaki komutu çalıştırın ve değişikliğin etkili olması için komut istemini yeniden başlatın:

    setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    PowerShell kullanıyorsanız aşağıdaki komutu çalıştırın:

    $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    macOS veya Linux kullanıyorsanız aşağıdaki komutu çalıştırın:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. İşlevinizi test etmek için F5 tuşuna basın. İstenirse, Visual Studio'dan Azure Functions Core (CLI) araçlarını indirme ve yükleme isteğini kabul edin. Araçların HTTP isteklerini işleyebilmesi için bir güvenlik duvarı özel durumunu etkinleştirmeniz de gerekebilir.

  3. İşlevinizin URL'sini Azure İşlevleri çalışma zamanı çıkışından kopyalayın.

    VS'de Hızlı Başlangıç İşlevi hata ayıklaması

  4. HTTP isteğinin URL'sini tarayıcınızın adres çubuğuna yapıştırın. Aşağıdaki görüntüde, tarayıcıda işlev tarafından döndürülen yerel GET isteğine verilen yanıt gösterilmektedir.

    Hızlı Başlangıç İşlevini Yerel Olarak Başlat

  5. Azure portalında Uygulama Yapılandırma deponuzu seçin ve Yapılandırma gezgininde aşağıdaki anahtarın değerini güncelleştirin.

    Anahtar Değer
    TestApp:Ayarlar:İleti Azure Uygulama Yapılandırmasından Veriler - Güncelleştirildi
  6. Tarayıcınızı birkaç kez yenileyin. 30 saniyelik varsayılan yenileme aralığı geçtikten sonra sayfa, Azure İşlevleri uygulamanızdan alınan güncelleştirilmiş değeri görüntüler.

    Hızlı Başlangıç İşlevi yerel yenileme

Kaynakları temizleme

Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.

  1. Azure portalında oturum açın ve Kaynak grupları'nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
  4. Kaynak grubunu sil'i seçin.
  5. Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.

Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.

Sonraki adımlar

Bu öğreticide, Uygulama Yapılandırması'ndan yapılandırma ayarlarını dinamik olarak yenilemek için Azure İşlevleri uygulamanızı etkinleştirmişsiniz.

Azure İşlevleri uygulamanızda Azure Uygulama Yapılandırması'ndan özellik bayraklarını kullanmayı öğrenmek için aşağıdaki öğreticiye geçin.

Uygulama Yapılandırması'na erişimi kolaylaştırmak için Azure yönetilen kimliğini kullanmayı öğrenmek için aşağıdaki öğreticiye geçin.