Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen.
- Egy alkalmazáskonfigurációs áruház, ahogyan az egy áruház létrehozására vonatkozó oktatóanyagban is látható.
- Visual Studio az Azure fejlesztési munkafolyamattal.
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.
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.
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
Nyissa meg Program.cs , és frissítse a kódot az alábbiak szerint. A
AddAzureAppConfigurationmetódus meghívásával az Azure App Configurationt további konfigurációs forrásként adja hozzá.Az
DefaultAzureCredentialhaszná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 egyFeatureFlagOptionsműveletet ad át aUseFeatureFlagsmetódusnak. IttFeatureFlagOptions.Selectadhatja meg a betöltendő funkciójelzők kulcsait és címkéit, ésFeatureFlagOptions.SetRefreshIntervalfelü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 nincsSelectmetódus meghívva.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();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
IVariantFeatureManagerSnapshotpéldányt.private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }Frissítse a
Runmetó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
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>'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.
Másolja a funkció URL-címét az Azure Functions futtatókörnyezet kimenetéről.
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.
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.
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ó.
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.
- Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
- A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
- Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
- Válassza az Erőforráscsoport törlése elemet.
- 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.