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.
A funkciójelzők funkciószűrőkkel feltételesen engedélyezhetik a funkciókat. A funkciószűrőkkel kapcsolatos további információkért lásd : Feltételes szolgáltatások engedélyezése funkciószűrőkkel.
Az ebben az útmutatóban használt példa a szolgáltatásfelügyeleti rövid útmutatóban bemutatott Python-alkalmazáson alapul. Mielőtt továbblép, végezze el a rövid útmutatót egy Python-alkalmazás bétaverziós funkciójelzővel való létrehozásához. Ha végzett, hozzá kell adnia egy egyéni funkciószűrőt az Alkalmazáskonfigurációs áruház bétafunkció-jelzőjéhez .
Ebből a cikkből megtudhatja, hogyan implementálhat egyéni funkciószűrőt, és hogyan használhatja a funkciószűrőt a szolgáltatások feltételes engedélyezéséhez.
Előfeltételek
- Python-alkalmazás létrehozása funkciójelzővel.
- Egyéni funkciószűrő hozzáadása a funkciójelölőhöz
Egyéni funkciószűrő implementálása
Az előfeltételek között hozzáadott egy Véletlenszerű nevű egyéni funkciószűrőt a bétaverzió-funkciójelző százalékos paraméterével. Ezután implementálja a funkciószűrőt, hogy engedélyezze a bétaverzió funkciójelzőjét a Százalék paraméter által meghatározott lehetőség alapján.
Adjon hozzá egy
RandomFilter.pyfájlt az alábbi kóddal.import random from featuremanagement import FeatureFilter @FeatureFilter.alias("Random") class RandomFilter(FeatureFilter): def evaluate(self, context, **kwargs): value = context.get("parameters", {}).get("Value", 0) if value < random.randint(0, 100): return True return FalseHozzáadott egy osztályt
RandomFilter, amely implementálja azFeatureFilterabsztrakt osztályt aFeatureManagementtárból. AzFeatureFilterosztály egyetlen metódussalevaluaterendelkezik, amelyet a rendszer a funkciójelző kiértékelésekor hív meg. Aevaluatefunkciószűrők a visszatéréssel engedélyezik a funkciójelzőttrue.A szűrőhöz egy véletlenszerű aliast adott
FeatureFilter.alias, amely megfelel a Azure-alkalmazás Konfiguráció bétafunkció-jelölőjébenbeállított szűrőnévnek.RandomFilterNyissa meg a app.py fájlt, és regisztrálja a
RandomFilterfájlt aFeatureManagerlétrehozásakor. Módosítsa a kódot úgy is, hogy ne frissüljön automatikusan, és néhányszor a bétaverzió funkciójelzőjét is elérhesse, ahogy az alább látható.from featuremanagement import FeatureManager from azure.appconfiguration.provider import load from azure.identity import DefaultAzureCredential import os endpoint = os.environ.get("APPCONFIGURATION_ENDPOINT_STRING") # Connect to Azure App Configuration using and Endpoint and Azure Entra ID # 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=DefaultAzureCredential(), feature_flag_enabled=True) feature_manager = FeatureManager(config, feature_filters=[RandomFilter()]) for i in range(0, 10): print("Beta is", feature_manager.is_enabled("Beta"))
Funkciószűrő működés közben
Az alkalmazás futtatásakor a konfigurációszolgáltató betölti a bétafunkció-jelzőt Azure-alkalmazás Konfigurációból. A metódus eredményét a is_enabled("Beta") rendszer a konzolra nyomtatja. Mivel a RandomFilter bétaverzió funkciójelzője implementálva és használva vanTrue, az eredmény az idő False 50 százaléka, a többi 50 százalék lesz.
Az alkalmazás futtatása azt mutatja, hogy a bétaverzió funkciójelzője néha engedélyezve van, és néha nem.
Beta is True
Beta is False
Beta is True
Beta is True
Beta is True
Beta is False
Beta is False
Beta is False
Beta is True
Beta is True
Következő lépések
A beépített funkciószűrőkről az alábbi dokumentumokban olvashat bővebben.