Sdílet prostřednictvím


Kurz: Použití dynamické konfigurace v aplikaci Azure Functions

V tomto kurzu se dozvíte, jak v aplikaci Azure Functions povolit dynamické aktualizace konfigurace. Vychází z aplikace Azure Functions, představené v rychlých průvodcích. Než budete pokračovat, nejprve dokončete vytvoření aplikace Azure Functions pomocí azure App Configuration .

V tomto kurzu se naučíte:

  • Nastavte dynamickou aktualizaci konfigurace pro aplikaci Azure Functions.
  • Povolte automatickou aktualizaci konfigurace pomocí middlewaru App Configuration.
  • Nejnovější konfiguraci ve voláních funkcí použijte v případě, že dojde ke změnám v obchodě App Configuration Store.

Požadavky

Opětovné načtení dat z konfigurace aplikace

Poskytovatel .NET služby Azure App Configuration podporuje ukládání do mezipaměti a dynamickou aktualizaci nastavení konfigurace na základě aktivity aplikace. V této části nakonfigurujete zprostředkovatele tak, aby dynamicky aktualizoval nastavení a povolili automatickou aktualizaci konfigurace pomocí middlewaru App Configuration , Microsoft.Azure.AppConfiguration.Functions.Workerpři každém spuštění funkce.

Poznámka:

Azure App Configuration je možné použít se službou Azure Functions v izolovaném modelu pracovního procesu nebo v modelu v procesu. V tomto kurzu se jako příklad používá izolovaný model pracovního procesu. Kompletní příklady kódu pro oba modely najdete v úložišti GitHub konfigurace aplikace Azure.

  1. Otevřete soubor Program.cs a aktualizujte volání tak, aby AddAzureAppConfiguration zahrnovalo metodu ConfigureRefresh . Tato metoda konfiguruje podmínky pro aktualizaci nastavení konfigurace, včetně zadání klíčů pro monitorování a intervalu mezi kontrolami aktualizace.

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

    Zavoláte metodu RegisterAll , která zprostředkovateli konfigurace aplikace dá pokyn, aby znovu načítal celou konfiguraci, kdykoli zjistí změnu v některé z vybraných hodnot klíčů (ty, které začínají testAppem: a nemají žádný popisek). Pro více informací o sledování změn konfigurace viz Nejlepší praxe pro aktualizaci konfigurace.

    Ve výchozím nastavení je interval aktualizace nastavený na 30 sekund. Tento interval můžete přizpůsobit voláním AzureAppConfigurationRefreshOptions.SetRefreshInterval metody.

  2. Aktualizujte soubor Program.cs , aby se při každém spuštění funkce povolila automatická aktualizace konfigurace přidáním middlewaru 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();
    

Místní testování funkce

  1. Nastavte proměnnou prostředí.

    Nastavte proměnnou prostředí s názvem AZURE_APPCONFIG_ENDPOINT na koncový bod obchodu App Configuration, který najdete v části Přehled obchodu na webu Azure Portal.

    Pokud používáte příkazový řádek systému Windows, spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:

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

    Pokud používáte PowerShell, spusťte následující příkaz:

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

    Pokud používáte macOS nebo Linux, spusťte následující příkaz:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Funkci otestujete stisknutím klávesy F5. Pokud se zobrazí výzva, přijměte požadavek ze sady Visual Studio ke stažení a instalaci nástrojů Azure Functions Core (CLI). Možná budete muset také povolit výjimku brány firewall, aby nástroje mohly zpracovávat požadavky HTTP.

  3. Zkopírujte adresu URL vaší funkce z výstupu modulu runtime služby Azure Functions.

    Rychlý start ladění funkcí ve VS

  4. Vložte adresu URL požadavku HTTP do adresního řádku prohlížeče. Následující obrázek ukazuje odpověď v prohlížeči na místní požadavek GET vrácený funkcí.

    Místní spuštění funkce Rychlý start

  5. Na webu Azure Portal vyberte obchod App Configuration Store a v Průzkumníku konfigurace aktualizujte hodnotu následujícího klíče.

    Klíč Hodnota
    TestApp:Settings:Message Data z konfigurace Aplikace Azure – aktualizována
  6. Několikrát aktualizujte prohlížeč. Po uplynutí výchozího intervalu aktualizace 30 sekund se na stránce zobrazí aktualizovaná hodnota načtená z vaší aplikace Azure Functions.

    Rychlé zprovoznění – místní aktualizace funkce

Upravte zdroje

Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste se vyhnuli poplatkům.

Důležité

Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Dávejte pozor, abyste omylem neodstranili nesprávnou skupinu prostředků nebo jednotlivé prostředky. Pokud jste vytvořili prostředky pro tento článek ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.

  1. Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
  2. Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
  4. Vyberte odstranit skupinu zdrojů.
  5. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.

Po několika okamžicích se skupina prostředků a všechny její prostředky vymažou.

Další kroky

V tomto kurzu jste povolili aplikaci Azure Functions tak, aby dynamicky aktualizovala nastavení konfigurace ze služby App Configuration.

Pokud chcete zjistit, jak používat příznaky funkcí z Azure App Configuration v rámci aplikace Azure Functions, přejděte k následujícímu kurzu.

Pokud chcete zjistit, jak pomocí spravované identity Azure zjednodušit přístup ke službě App Configuration, pokračujte následujícím kurzem.