Kurz: Povolení podmíněných funkcí s vlastním filtrem v aplikaci v Pythonu
Příznaky funkcí můžou používat filtry funkcí k podmíněnému povolení funkcí. Další informace o filtrech funkcí najdete v tématu Kurz: Povolení podmíněných funkcí pomocí filtrů funkcí.
Příklad použitý v tomto kurzu vychází z aplikace Pythonu představené v rychlém startu pro správu funkcí. Než budete pokračovat, dokončete rychlý start a vytvořte aplikaci v Pythonu s příznakem funkce Beta . Po dokončení musíte přidat vlastní filtr funkcí do příznaku funkce Beta v Obchodě App Configuration Store.
V tomto kurzu se dozvíte, jak implementovat vlastní filtr funkcí a použít filtr funkcí k podmíněnému povolení funkcí.
Požadavky
- Vytvořte aplikaci v Pythonu s příznakem funkce.
- Přidání vlastního filtru funkcí do příznaku funkce
Implementace vlastního filtru funkcí
Přidali jste vlastní filtr funkcí s názvem Random s parametrem Percentage pro příznak funkce Beta v požadavcích. Dále implementujete filtr funkcí, který povolí příznak funkce Beta na základě pravděpodobnosti definované parametrem Procento .
RandomFilter.py
Přidejte soubor s následujícím kódem.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 False
Přidali
RandomFilter
jste třídu, která implementujeFeatureFilter
abstraktní třídu zFeatureManagement
knihovny. TřídaFeatureFilter
má jednu metodu s názvemevaluate
, která se volá při každém vyhodnocení příznaku funkce. Vevaluate
, filtr funkce umožňuje příznak funkce vrácenímtrue
.Přizdobili
FeatureFilter.alias
jste filtrRandomFilter
tak, aby byl alias náhodný, který odpovídá názvu filtru, který jste nastavili v příznaku funkce Beta v konfiguraci Aplikace Azure.Otevřete soubor app.py a zaregistrujte
RandomFilter
při vytváření souboruFeatureManager
. Upravte také kód tak, aby se automaticky neaktualizuje a několikrát také přistupoval k příznaku funkce Beta , jak je vidět níže.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"))
Filtr funkcí v akci
Když spustíte aplikaci, poskytovatel konfigurace načte příznak funkce Beta z Aplikace Azure Konfigurace. Výsledek is_enabled("Beta")
metody se vytiskne do konzoly. Při implementaci RandomFilter
a použití příznakem funkce Beta bude True
výsledek 50 procent času a False
dalších 50 procent času.
Spuštění aplikace zobrazí, že příznak funkce Beta je někdy povolený a někdy ne.
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
Další kroky
Další informace o předdefinovaných filtrech funkcí najdete v následujících kurzech.