Rövid útmutató: Funkciójelzők hozzáadása Python-alkalmazásokhoz
Ebben a rövid útmutatóban egy funkciójelzőt fog létrehozni Azure-alkalmazás Konfigurációban, és segítségével dinamikusan vezérelheti a Python-alkalmazásokat a funkciókezelés végpontok közötti implementációjának létrehozásához.
A szolgáltatásfelügyeleti támogatás kibővíti az alkalmazáskonfiguráció dinamikus konfigurációs funkcióját. Ezek a példák a gyorsútmutatóban a dinamikus konfigurációs oktatóanyagban bevezetettPpython-alkalmazásokra épülnek. A folytatás előtt fejezze be a gyorsútmutatót és az oktatóanyagot a dinamikus konfigurációjú Python-alkalmazások létrehozásához.
Ez a tár nem függ az Azure-kódtáraktól. Zökkenőmentesen integrálhatók az Alkalmazáskonfigurációval a Python-konfigurációszolgáltatón keresztül.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen.
- Alkalmazáskonfigurációs áruház. Hozzon létre egy áruházat.
- Python 3.8 vagy újabb – a Python windowsos beállításával kapcsolatos információkért tekintse meg a Python windowsos dokumentációját, máskülönben a Python-letöltéseket.
- azure-appconfiguration-provider library 1.2.0 vagy újabb.
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. Ebben a szakaszban az Enable feature flag check bock (Funkciójelző engedélyezése) jelölőnégyzetet nem kell bejelölni.
Konzolalkalmazások
Telepítse a Szolgáltatáskezelést a
pip install
parancs használatával.pip install featuremanagement
Hozzon létre egy új pythonfájlt,
app.py
és adja hozzá a következő kódot:from featuremanagement import FeatureManager from azure.identity import InteractiveBrowserCredential from azure.appconfiguration.provider import load import os from time import sleep endpoint = os.environ["APP_CONFIGURATION_ENDPOINT"] # Connecting to Azure App Configuration using an endpoint # credential is used to authenticate the client, the InteractiveBrowserCredential is used for this sample. It will open a browser window to authenticate the user. For all credential options see [credential classes](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#credential-classes). # feature_flag_enabled makes it so that the provider will load feature flags from Azure App Configuration # feature_flag_refresh_enabled makes it so that the provider will refresh feature flags from Azure App Configuration, when the refresh operation is triggered config = load(endpoint=endpoint, credential=InteractiveBrowserCredential(), feature_flag_enabled=True, feature_flag_refresh_enabled=True) feature_manager = FeatureManager(config) # Is always false print("Beta is ", feature_manager.is_enabled("Beta")) while not feature_manager.is_enabled("Beta"): sleep(5) config.refresh() print("Beta is ", feature_manager.is_enabled("Beta"))
Az alkalmazás indításakor megnyílik egy böngészőablak a felhasználó hitelesítéséhez. A felhasználónak legalább a szerepkörével kell rendelkeznie az App Configuration Data Reader
Alkalmazáskonfigurációs áruház eléréséhez. További információ: Alkalmazáskonfigurációs szerepkörök .
Állítson be egy APP_CONFIGURATION_ENDPOINT nevű környezeti változót, és állítsa a végpontra az Alkalmazáskonfigurációs áruházban. Futtassa a következő parancsot a parancssorban, és indítsa újra a parancssort a módosítás érvénybe lépésének engedélyezéséhez:
Ha az alkalmazást helyileg szeretné létrehozni és futtatni a Windows parancssorával, futtassa a következő parancsot:
setx APP_CONFIGURATION_ENDPOINT "endpoint-of-your-app-configuration-store"
Indítsa újra a parancssort a módosítás érvénybe lépésének engedélyezéséhez. Ellenőrizze, hogy megfelelően van-e beállítva a környezeti változó értékének nyomtatásával.
Futtassa a Python-alkalmazást.
python app.py
Az Alkalmazáskonfigurációs portálon válassza a Funkciókezelőt, és módosítsa a bétaverzió funkciójelzőjének állapotát Be állásra az Engedélyezett oszlop kapcsolójával.
Kulcs Állapot Beta Be Körülbelül 30-at követően, amely a szolgáltató frissítési időköze, az alkalmazás a következőket nyomtatja ki:
Beta is True
Webes alkalmazások
Az alábbi példa bemutatja, hogyan frissíthet egy meglévő webalkalmazást Azure-alkalmazás Konfiguráció dinamikus frissítéssel funkciójelölők használatára. A dinamikus frissítés konfigurációs értékekhez való használatának részletesebb példáját a Python dinamikus konfigurációja című témakörben találja. A folytatás előtt győződjön meg arról, hogy engedélyezve van a bétafunkció-jelző az Alkalmazáskonfigurációs áruházban.
Ebben app.py
az esetben állítsa be Azure-alkalmazás Konfiguráció terhelési módszerét a funkciójelölők további betöltéséhez, valamint a funkciójelölők frissítésének engedélyezéséhez.
from featuremanagement import FeatureManager
...
global azure_app_config, feature_manager
# Connecting to Azure App Configuration using an endpoint
# credential is used to authenticate the client, the InteractiveBrowserCredential is used for this sample. It will open a browser window to authenticate the user. For all credential options see [credential classes](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#credential-classes).
# feature_flag_enabled makes it so that the provider will load feature flags from Azure App Configuration
# feature_flag_refresh_enabled makes it so that the provider will refresh feature flags from Azure App Configuration, when the refresh operation is triggered
azure_app_config = load(endpoint=endpoint, credential=InteractiveBrowserCredential(),
refresh_on=[WatchKey("sentinel")],
on_refresh_success=on_refresh_success,
refresh_interval=10, # Default value is 30 seconds, shortened for this sample
feature_flag_enabled=True,
feature_flag_refresh_enabled=True,
)
feature_manager = FeatureManager(config)
Emellett frissítse az útvonalakat, hogy ellenőrizze a frissített funkciójelzőket.
@app.route("/")
def index():
...
context["message"] = azure_app_config.get("message")
context["beta"] = feature_manager.is_enabled("Beta")
...
Frissítse a sablont index.html
az új funkciójelzők használatára.
...
<body>
<main>
<div>
<h1>{{message}}</h1>
{% if beta %}
<h2>Beta is enabled</h2>
{% endif %}
</div>
</main>
</body>
Miután frissítette és futtatta az alkalmazást, működés közben láthatja a funkciójelzőt, ahol az Beta is enabled
üzenet megjelenik az oldalon, de csak akkor, ha a funkciójelző engedélyezve van az Alkalmazáskonfigurációs áruházban.
Amikor ezek a végpontok aktiválódnak, a legújabb konfigurációs értékek használata érdekében frissítési ellenőrzés végezhető. Az ellenőrzés azonnal visszatérhet, ha a frissítési időköz még nem járt le, vagy egy frissítés már folyamatban van.
Ha a frissítés befejeződött, az összes érték egyszerre frissül, így a konfiguráció mindig konzisztens az objektumon belül.
Az erőforrások eltávolí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 új Alkalmazáskonfigurációs áruházat, amely a Szolgáltatáskezelési kódtáron keresztül kezeli a Python-alkalmazások funkcióit.
- További információ a funkciókezelésről.
- Funkciójelzők kezelése.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: