Mulai Cepat: Buat aplikasi Azure Functions dengan Azure App Configuration

Dalam panduan mulai cepat ini, Anda memasukkan layanan Azure App Configuration ke dalam aplikasi Azure Functions untuk memusatkan penyimpanan dan pengelolaan semua pengaturan aplikasi yang terpisah Anda dari kode Anda.

Prasyarat

Menambahkan nilai kunci

Tambahkan nilai kunci berikut ke penyimpanan App Configuration dan biarkan Label dan Tipe Konten dengan nilai defaultnya. Untuk informasi selengkapnya tentang cara menambahkan nilai kunci ke penyimpanan menggunakan portal Azure atau CLI, buka Membuat nilai kunci.

Tombol Nilai
TestApp:Pengaturan:Message Data dari Azure App Configuration

Buat aplikasi fungsi

Templat proyek Azure Functions di Visual Studio membuat proyek pustaka kelas C# yang bisa Anda terbitkan ke aplikasi fungsi di Azure. Aplikasi fungsi memungkinkan Anda mengelompokkan fungsi sebagai unit logis untuk pengelolaan, penyebaran, penskalaan, dan berbagi sumber daya dengan lebih mudah.

  1. Dari menu Visual Studio, pilih File>Proyek>Baru.

  2. Di Buat proyek baru, masukkan fungsi di kotak pencarian, pilih templat Azure Functions, lalu pilih Berikutnya.

  3. Di Konfigurasikan proyek baru, masukkan Nama proyek untuk proyek Anda, lalu pilih Buat. Nama aplikasi fungsi harus valid sebagai namespace layanan C#, jadi jangan gunakan garis bawah, tanda hubung, atau karakter non-alfanumerik lainnya.

  4. Untuk pengaturan Buat aplikasi Azure Functions baru, gunakan nilai dalam tabel berikut:

    Pengaturan Nilai Deskripsi
    Versi .NET .NET 6 Terisolasi Nilai ini membuat proyek fungsi yang berjalan dalam proses pekerja yang terisolasi. Proses pekerja terisolasi mendukung versi .NET non-LTS lainnya dan juga .NET Framework. Untuk informasi selengkapnya, lihat Ringkasan versi runtime Azure Functions.
    Templat fungsi Pemicu HTTP Nilai ini membuat fungsi yang dipicu oleh permintaan HTTP.
    Akun penyimpanan (AzureWebJobsStorage) Emulator Storage Karena aplikasi fungsi di Azure memerlukan akun penyimpanan, aplikasi ditetapkan atau dibuat saat Anda memublikasikan proyek Anda ke Azure. Pemicu HTTP tidak menggunakan string koneksi akun Azure Storage; semua jenis pemicu lainnya memerlukan string koneksi akun Azure Storage yang valid.
    Tingkat otorisasi Anonim Fungsi yang dibuat dapat dipicu oleh klien mana pun tanpa menyediakan kunci. Pengaturan otorisasi ini memudahkan Anda menguji fungsi baru Anda. Untuk informasi selengkapnya tentang kunci dan otorisasi, lihat Kunci otorisasi dan pengikatan HTTP dan webhook.

    Pengaturan proyek Azure Functions

    Pastikan Anda mengatur Tingkat otorisasi ke Anonim. Ketika Anda memilih tingkat default Fungsi, Anda diharuskan untuk memberikan kunci fungsi dalam permintaan untuk mengakses titik akhir fungsi Anda.

  5. Pilih Buat untuk membuat proyek fungsi dan fungsi pemicu HTTP.

Tersambung ke Penyimpanan App Configuration

Proyek ini akan menggunakan injeksi dependensi di .NET Azure Functions dan menambahkan Azure App Configuration sebagai sumber data konfigurasi tambahan. Azure Functions mendukung operasi dalam-proses atau proses-terisolasi. Pilih salah satu yang sesuai dengan persyaratan Anda.

  1. Klik kanan proyek Anda dan pilih Kelola Paket NuGet. Pada tab Telusuri, cari dan tambahkan paket NuGet berikut ke proyek Anda.

  2. Tambahkan kode untuk membuat sambungan ke Azure App Configuration.

    Tambahkan file baru, Startup.cs, dengan kode berikut. Ini mendefinisikan kelas bernama Startup yang mengimplementasikan FunctionsStartup kelas abstrak. Atribut rakitan digunakan untuk menentukan nama jenis yang digunakan selama startup Azure Functions.

    Metode ConfigureAppConfiguration ini diganti dan penyedia Azure App Configuration ditambahkan sebagai sumber data konfigurasi tambahan dengan panggilanAddAzureAppConfiguration(). Metode Configure ini dibiarkan kosong karena Anda tidak perlu mendaftarkan layanan apa pun pada saat ini.

    using System;
    using Microsoft.Azure.Functions.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    
    [assembly: FunctionsStartup(typeof(FunctionApp.Startup))]
    
    namespace FunctionApp
    {
        class Startup : FunctionsStartup
        {
            public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
            {
                string cs = Environment.GetEnvironmentVariable("ConnectionString");
                builder.ConfigurationBuilder.AddAzureAppConfiguration(cs);
            }
    
            public override void Configure(IFunctionsHostBuilder builder)
            {
            }
        }
    }
    
  3. Buka Function1.cs, dan tambahkan namespace layanan berikut jika belum ada.

    using Microsoft.Extensions.Configuration;
    

    Menambahkan atau memperbarui konstruktor yang digunakan untuk mendapatkan instans IConfiguration melalui injeksi dependensi.

    private readonly IConfiguration _configuration;
    
    public Function1(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    
  4. Perbarui Run metode untuk membaca nilai dari konfigurasi.

    [FunctionName("Function1")]
    public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        // Read configuration data
        string keyName = "TestApp:Settings:Message";
        string message = _configuration[keyName];
    
        return message != null
            ? (ActionResult)new OkObjectResult(message)
            : new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
    }
    

    Catatan

    Function1Kelas dan Run metode ini tidak harus statis. Hapusstatic pengubah jika ia diregenerasi secara otomatis.

Uji fungsi secara lokal

  1. Set variabel lingkungan bernama ConnectionString, dan set ke kunci akses ke simpan Azure App Configuration Anda. Jika Anda menggunakan perintah Windows, jalankan perintah berikut dan hidupkan ulang perintah untuk memungkinkan perubahan berlaku:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    Jika Anda menggunakan PowerShell Windows, jalankan perintah berikut:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    

    Jika Anda menggunakan macOS atau Linux, jalankan perintah berikut:

        export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. Tekan F5 untuk menguji fungsi. Jika diminta, terima permintaan dari Visual Studio untuk mengunduh dan memasang alat Utama Azure Functions (CLI). Anda mungkin perlu mengaktifkan pengecualian firewall agar alat dapat menangani permintaan HTTP.

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

    Penelusuran kesalahan Fungsi Mulai Cepat di VS

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

    Lokal peluncuran Fungsi Mulai Cepat

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 panduan mulai cepat ini, Anda membuat simpan Azure App Configuration baru dan menggunakannya dengan aplikasi Azure Functions melalui penyedia Azure App Configuration. Untuk mempelajari cara memperbarui aplikasi Azure Functions Anda untuk menyegarkan konfigurasi secara dinamis, lanjutkan ke tutorial berikutnya.

Untuk mempelajari cara menggunakan identitas terkelola Azure guna menyederhanakan akses ke App Configuration, lanjut ke tutorial berikutnya.