Bagikan melalui


Tutorial: Menggunakan konfigurasi dinamis di aplikasi Azure Functions

Tutorial ini menunjukkan bagaimana Anda dapat mengaktifkan pembaruan konfigurasi dinamis di aplikasi Azure Functions Anda. Ini dikembangkan dari aplikasi Azure Functions yang diperkenalkan dalam panduan awal. Sebelum melanjutkan, selesaikan Buat aplikasi Azure Functions dengan Azure App Configuration terlebih dahulu.

Dalam tutorial ini, Anda mempelajari cara:

  • Siapkan refresh konfigurasi dinamis untuk aplikasi Azure Functions Anda.
  • Aktifkan refresh konfigurasi otomatis menggunakan middleware App Configuration.
  • Gunakan konfigurasi terbaru dalam pemanggilan fungsi saat terjadi perubahan di penyimpanan konfigurasi aplikasi Anda.

Prasyarat

Memuat ulang data dari Azure App Configuration

Penyedia .NET Azure App Configuration mendukung penembolokan dan refresh dinamis pengaturan konfigurasi berdasarkan aktivitas aplikasi. Di bagian ini, Anda mengonfigurasi penyedia untuk menyegarkan pengaturan secara dinamis dan mengaktifkan refresh konfigurasi otomatis menggunakan middleware App Configuration, Microsoft.Azure.AppConfiguration.Functions.Worker, setiap kali fungsi dijalankan.

Nota

Azure App Configuration dapat digunakan dengan Azure Functions baik dalam model pekerja yang terisolasi atau model dalam proses. Tutorial ini menggunakan model pekerja yang terisolasi sebagai contoh. Anda dapat menemukan contoh kode lengkap untuk kedua model di repositori GitHub Azure App Configuration.

  1. Buka file Program.cs dan perbarui panggilan ke AddAzureAppConfiguration untuk menyertakan metode ConfigureRefresh. Metode ini mengonfigurasi kondisi untuk memperbarui pengaturan konfigurasi, termasuk menentukan kunci yang akan dipantau dan selang waktu antar pemeriksaan pembaruan.

    // 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();
               });
    });
    

    Anda memanggil RegisterAll metode untuk menginstruksikan penyedia App Configuration untuk memuat ulang seluruh konfigurasi setiap kali mendeteksi perubahan dalam salah satu nilai kunci yang dipilih (yang dimulai dengan TestApp: dan tidak memiliki label). Untuk informasi selengkapnya tentang memantau perubahan konfigurasi, lihat Praktik terbaik untuk refresh konfigurasi.

    Secara default, interval refresh diatur ke 30 detik. Anda dapat menyesuaikan interval ini dengan memanggil AzureAppConfigurationRefreshOptions.SetRefreshInterval metode .

  2. Perbarui file Program.cs untuk mengaktifkan refresh konfigurasi otomatis pada setiap eksekusi fungsi dengan menambahkan middleware App Configuration:

    // 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();
    

Uji fungsi secara lokal

  1. Atur variabel lingkungan.

    Atur variabel lingkungan bernama AZURE_APPCONFIG_ENDPOINT ke titik akhir penyimpanan App Configuration Anda yang ditemukan di bawah Gambaran Umum penyimpanan Anda di portal Azure.

    Jika Anda menggunakan perintah Windows, jalankan perintah berikut dan hidupkan ulang perintah untuk memungkinkan perubahan berlaku:

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

    Jika Anda menggunakan PowerShell, jalankan perintah berikut:

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

    Jika Anda menggunakan macOS atau Linux, jalankan perintah berikut:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Untuk menguji fungsi Anda, tekan F5. Jika diminta, terima permintaan dari Visual Studio untuk mengunduh dan menginstal alat Azure Functions Core (CLI). Anda mungkin perlu mengaktifkan pengecualian firewall agar alat dapat menangani permintaan HTTP.

  3. Salin URL fungsi Anda dari output runtime Azure Functions.

    Debug Fungsi Memulai Cepat di VS

  4. Tempelkan URL untuk permintaan HTTP ke bilah alamat browser Anda. Gambar berikut menunjukkan respons di browser ke permintaan GET lokal yang dikembalikan oleh fungsi .

    Fungsi Quickstart diluncurkan secara lokal

  5. Pilih penyimpanan App Configuration Anda di portal Microsoft Azure dan perbarui nilai kunci berikut di Penjelajah konfigurasi.

    Kunci Nilai
    TestApp:Settings:Message Data dari Azure App Configuration - Diperbarui
  6. Refresh browser Anda beberapa kali. Setelah interval refresh default 30 detik berlalu, halaman menampilkan nilai yang diperbarui yang diambil dari aplikasi Azure Functions Anda.

    Fitur Panduan Cepat penyegaran lokal

Membersihkan sumber daya

Jika Anda tidak ingin terus menggunakan sumber daya yang dibuat dalam artikel ini, hapus grup sumber daya yang Anda buat di sini untuk menghindari biaya.

Penting

Penghapusan grup sumber daya tidak bisa dipulihkan. Grup sumber daya dan semua sumber daya yang ada di dalamnya akan dihapus secara permanen. Pastikan Anda tidak menghapus grup atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat sumber daya untuk artikel ini dalam grup sumber daya yang ada yang berisi sumber daya lain yang ingin disimpan, hapus setiap sumber daya satu per satu dari panelnya masing-masing, bukan menghapus grup sumber daya.

  1. Masuk ke portal Azure, lalu pilih Grup sumber daya.
  2. Dalam kotak Filter menurut nama, masukkan nama grup sumber daya Anda.
  3. Dalam daftar hasil, pilih nama grup sumber daya untuk melihat gambaran umum.
  4. Pilih Hapus grup sumber daya.
  5. Anda akan diminta untuk mengonfirmasi penghapusan grup sumber daya. Masukkan nama grup sumber daya Anda untuk mengonfirmasi, dan pilih Hapus.

Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.

Langkah berikutnya

Dalam tutorial ini, Anda mengaktifkan aplikasi Azure Functions untuk merefresh pengaturan konfigurasi secara dinamis dari App Configuration.

Untuk mempelajari cara menggunakan bendera fitur dari Azure App Configuration dalam aplikasi Azure Functions Anda, lanjutkan ke tutorial berikut.

Untuk mempelajari cara menggunakan identitas terkelola Azure untuk menyederhanakan akses ke App Configuration, lanjutkan ke tutorial berikut.