Megosztás a következőn keresztül:


Rövid útmutató: Funkciójelzők hozzáadása egy Azure Functions-alkalmazáshoz

Ebben a rövid útmutatóban létrehoz egy Azure Functions-alkalmazást, és funkciójelzőket használ benne. A Azure-alkalmazás Konfiguráció funkciókezelésével központilag tárolhatja az összes funkciójelzőt, és szabályozhatja azok állapotát.

Előfeltételek

Funkciójelző hozzáadása

Adjon hozzá egy bétaverzió nevű funkciójelzőt az Alkalmazáskonfigurációs áruházhoz, és hagyja meg a címkét és a leírást az alapértelmezett értékekkel. Ha többet szeretne tudni arról, hogyan adhat hozzá funkciójelzőket egy áruházhoz az Azure Portal vagy a parancssori felület használatával, lépjen a Funkciójelölő létrehozása elemre.

Bétaverzió nevű funkciójelző engedélyezése

Függvényalkalmazás létrehozása

Azure Functions-alkalmazás létrehozása a Visual Studióval az Azure Functions (C#) sablon kiválasztásával. Ez a sablon végigvezeti a projekt alapvető beállításainak konfigurálásán. Részletes útmutatásért lásd: Azure Functions fejlesztése a Visual Studióval.

A függvényalkalmazás létrehozásakor használja az alábbi táblázatot a kulcsparaméterek hivatkozásaként.

Beállítás Érték
Függvények kiszolgálója .NET 8.0 Izolált
Funkció HTTP-eseményindító
Engedélyszint Névtelen

Feljegyzés

Az Azure App Configuration az Azure Functions szolgáltatással az izolált feldolgozói modellben vagy a folyamatban lévő modellben is használható. Ez a gyorsútmutató példaként használja az izolált feldolgozói modellt. Mindkét modellre vonatkozó teljes kódpéldákat az Azure App Configuration GitHub-adattárban talál.

Csatlakozás alkalmazáskonfigurációs áruházhoz

Az App Configuration szolgáltatáshoz a Microsoft Entra ID (ajánlott) vagy egy csatlakozási karakterlánc használatával csatlakozhat.

  1. Kattintson a jobb gombbal a projektre, és válassza a NuGet-csomagok kezelése lehetőséget. A Tallózás lapon keresse meg és adja hozzá a következő NuGet-csomagok legújabb stabil verzióját a projekthez.

    • Microsoft.Azure.AppConfiguration.Functions.Worker
    • Microsoft.FeatureManagement
    • Azure.Identity
  2. Nyissa meg Program.cs , és frissítse a kódot az alábbiak szerint. A AddAzureAppConfiguration metódus meghívásával az Azure App Configurationt további konfigurációs forrásként adja hozzá.

    Az DefaultAzureCredential használatával hitelesítheti magát az Alkalmazáskonfigurációs áruházban. Kövesse az utasításokat a hitelesítő adatainak App Configuration Data Reader szerepkör hozzárendeléséhez. Győződjön meg arról, hogy elegendő időt hagy az engedély propagálására az alkalmazás futtatása előtt.

    using Azure.Identity;
    using Microsoft.Azure.Functions.Worker.Builder;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Hosting;
    using Microsoft.FeatureManagement;
    
    var builder = FunctionsApplication.CreateBuilder(args);
    
    // 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 feature flags with no label. To load feature flags with specific keys and labels, set via FeatureFlagOptions.Select.
               // Use the default refresh interval of 30 seconds. It can be overridden via FeatureFlagOptions.SetRefreshInterval.
               .UseFeatureFlags();
    });
    

    A UseFeatureFlags() metódus arra utasítja a szolgáltatót, hogy töltse be a funkciójelzőket. Alapértelmezés szerint a címkék nélküli összes funkciójelző 30 másodpercenként betöltődik és frissül. A funkciójelölők kijelölési és frissítési viselkedése a többi konfigurációs kulcsértéktől függetlenül van konfigurálva. Ezeket a viselkedéseket testre szabhatja úgy, hogy egy FeatureFlagOptions műveletet ad át a UseFeatureFlags metódusnak. Itt FeatureFlagOptions.Select adhatja meg a betöltendő funkciójelzők kulcsait és címkéit, és FeatureFlagOptions.SetRefreshInterval felülbírálhatja az alapértelmezett frissítési időközt.

    Tipp

    Ha nem szeretné, hogy a funkciókapcsolókon kívül más konfiguráció is kerüljön betöltésre az alkalmazásba, meghívhatja options.Select("_"), hogy csak egy nem létező dummy kulcsot "_" töltsön be. Alapértelmezés szerint az alkalmazáskonfigurációs áruházban címkék nélküli összes konfigurációs kulcsérték betöltődik, ha nincs Select metódus meghívva.

  3. Frissítse a Program.cs fájlt, hogy az Azure App Configuration köztes szoftver hozzáadásával engedélyezze az automatikus funkciójelző frissítését az egyes függvények végrehajtásához. A szolgáltatásfelügyeleti szolgáltatást is regisztrálja, így később injektálhatja és használhatja a függvénykódban.

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware and feature management to the service collection.
    builder.Services
        .AddAzureAppConfiguration()
        .AddFeatureManagement();
    
    // Use Azure App Configuration middleware for dynamic configuration and feature flag refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    
  4. Nyissa meg Function1.cs, és adja hozzá a következő névteret.

    using Microsoft.FeatureManagement;
    

    Frissítse a konstruktort, hogy függőségek injektálásával szerezzen be egy IVariantFeatureManagerSnapshot példányt.

    private readonly IVariantFeatureManagerSnapshot _featureManager;
    private readonly ILogger<Function1> _logger;
    
    public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger)
    {
        _featureManager = featureManager;
        _logger = logger;
    }
    
  5. Frissítse a Run metódust, hogy válaszüzenetet adjon vissza a funkciójelző állapota alapján.

    [Function("Function1")]
    public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
    {
        _logger.LogInformation("C# HTTP trigger function processed a request.");
    
        // Read feature flag
        string featureName = "Beta";
        bool featureEnabled = await _featureManager.IsEnabledAsync(featureName, req.HttpContext.RequestAborted);
    
        return new OkObjectResult(featureEnabled
            ? $"The Feature Flag '{featureName}' is turned ON!"
            : $"The Feature Flag '{featureName}' is turned OFF");
    }
    

A függvény helyi tesztelése

  1. Adja meg a környezeti változót.

    Állítsa a AZURE_APPCONFIG_ENDPOINT nevű környezeti változót az Alkalmazáskonfigurációs áruház végpontjára, amely az Azure Portalon található áruház áttekintésében található.

    Ha a Windows parancssorát használja, futtassa a következő parancsot, és indítsa újra a parancssort a módosítás érvénybe lépésének engedélyezéséhez:

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

    Ha a PowerShellt használja, futtassa a következő parancsot:

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

    MacOS vagy Linux használata esetén futtassa a következő parancsot:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Nyomja le az F5 billentyűt a függvény teszteléséhez. Ha a rendszer kéri, fogadja el a Visual Studiótól az Azure Functions Core (CLI) eszközeinek letöltésére és telepítésére vonatkozó kérést. Előfordulhat, hogy engedélyeznie kell egy tűzfalkivételt is, hogy az eszközök kezelni tudják a HTTP-kéréseket.

  3. Másolja a funkció URL-címét az Azure Functions futtatókörnyezet kimenetéről.

    Rövid útmutató a függvény hibakereséshez a Visual Studio-ban

  4. Illessze be a HTTP-kérelem URL-címét a böngésző címsorába. Az alábbi képen a válasz azt jelzi, hogy a funkciójelző bétaverziója le van tiltva.

    A rövid útmutató funkciójelzője le van tiltva

  5. Az Azure Portalon lépjen az Alkalmazáskonfigurációs áruházba. Az Operations területen válassza a Funkciókezelőt, keresse meg a Béta funkciójelzőt, és állítsa az Engedélyezett kapcsolótbekapcsolt állásba.

  6. Frissítse a böngészőt néhányszor. Amikor a frissítési időköz időablaka eltelik, a lap úgy változik, hogy a funkciójelző bétaverziója be van kapcsolva, ahogy az a képen is látható.

    A gyorsindítás funkciókapcsolója engedélyezve

Az erőforrások tisztítása

Ha nem szeretné folytatni a cikkben létrehozott erőforrások használatát, törölje az itt létrehozott erőforráscsoportot a díjak elkerülése érdekében.

Fontos

Az erőforráscsoport törlése nem vonható vissza. Az erőforráscsoport és a benne lévő összes erőforrás véglegesen törlődik. Győződjön meg arról, hogy nem véletlenül törli a rossz erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoporton belül hozta létre, amely más megtartani kívánt erőforrásokat tartalmaz, törölje az egyes erőforrásokat a megfelelő panelről az erőforráscsoport törlése helyett.

  1. Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
  2. A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
  3. Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
  4. Válassza az Erőforráscsoport törlése elemet.
  5. A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg a megerősítéshez az erőforráscsoport nevét, és válassza a Törlés lehetőséget.

Néhány pillanat múlva az erőforráscsoport és annak összes erőforrása törlődik.

Következő lépések

Ebben a rövid útmutatóban létrehozott egy funkciójelzőt, amelyet egy Azure Functions-alkalmazással használt.

A .NET szolgáltatásfelügyeleti kódtár teljes funkciólefutásához folytassa a következő dokumentumot.

Ha többet szeretne megtudni a funkciójelzők Azure-alkalmazás Konfigurációban való kezeléséről, folytassa a következő oktatóanyagban.