Rychlý start: Přidání příznaků funkcí do aplikace v Pythonu
V tomto rychlém startu vytvoříte příznak funkce v konfiguraci Aplikace Azure a použijete ho k dynamickému řízení aplikací v Pythonu, abyste vytvořili kompletní implementaci správy funkcí.
Podpora správy funkcí rozšiřuje funkci dynamické konfigurace v nástroji App Configuration. Tyto příklady v rychlém startu vycházejí z aplikace Python představené v kurzu dynamické konfigurace. Než budete pokračovat, dokončete rychlý start a kurz pro vytvoření aplikací Pythonu s dynamickou konfigurací nejprve.
Tato knihovna nemá závislost na žádné knihovně Azure. Bezproblémově se integrují se službou App Configuration prostřednictvím svého poskytovatele konfigurace Pythonu.
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.
- App Configuration Store. Vytvořte úložiště.
- Python 3.8 nebo novější – informace o nastavení Pythonu ve Windows najdete v dokumentaci k Pythonu ve Windows, jinak se podívejte na stažení Pythonu.
- knihovna azure-appconfiguration-provider 1.2.0 nebo novější.
Přidání příznaku funkce
Přidejte příznak funkce s názvem Beta do obchodu App Configuration Store a ponechte popis a popis s výchozími hodnotami. Další informace o přidání příznaků funkcí do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku najdete v části Vytvoření příznaku funkce. V této fázi by měla být zaškrtnutá bocka příznaku funkce povolit.
Konzolové aplikace
Nainstalujte funkci Správa funkcí pomocí
pip install
příkazu.pip install featuremanagement
Vytvořte nový soubor Pythonu s názvem
app.py
a přidejte následující kód: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"))
Při spuštění aplikace se otevře okno prohlížeče pro ověření uživatele. Uživatel musí mít alespoň App Configuration Data Reader
roli pro přístup ke službě App Configuration Store. Další informace najdete v tématu Role Konfigurace aplikací.
Nastavte proměnnou prostředí s názvem APP_CONFIGURATION_ENDPOINT a nastavte ji na koncový bod do obchodu App Configuration Store. Na příkazovém řádku spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:
Pokud chcete aplikaci sestavit a spustit místně pomocí příkazového řádku windows, spusťte následující příkaz:
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Restartujte příkazový řádek, aby se změna projevila. Ověřte, že je správně nastavená, a to tak, že vytisknete hodnotu proměnné prostředí.
Spusťte aplikaci Pythonu.
python app.py
Na portálu Konfigurace aplikace vyberte Správce funkcí a pomocí přepínače ve sloupci Povoleno změňte stav příznaku funkce Beta na Zapnuto.
Klíč State Beta Zapnout Po přibližně 30s, což je interval aktualizace pro poskytovatele, aplikace vytiskne následující:
Beta is True
Webové aplikace
Následující příklad ukazuje, jak aktualizovat existující webovou aplikaci pomocí Aplikace Azure Konfigurace s dynamickou aktualizací, aby se také používaly příznaky funkcí. Podrobnější příklad použití dynamické aktualizace pro hodnoty konfigurace najdete v tématu Dynamická konfigurace Pythonu. Než budete pokračovat, ujistěte se, že máte v Obchodě App Configuration Store povolený příznak funkce Beta.
V app.py
aplikaci nastavte metodu načítání Aplikace Azure Konfigurace pro další načtení příznaků funkcí spolu s povolením aktualizace příznaků funkcí.
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)
Aktualizujte také trasy a zkontrolujte aktualizované příznaky funkcí.
@app.route("/")
def index():
...
context["message"] = azure_app_config.get("message")
context["beta"] = feature_manager.is_enabled("Beta")
...
Aktualizujte šablonu index.html
tak, aby používala nové příznaky funkcí.
...
<body>
<main>
<div>
<h1>{{message}}</h1>
{% if beta %}
<h2>Beta is enabled</h2>
{% endif %}
</div>
</main>
</body>
Po aktualizaci a spuštění aplikace uvidíte příznak funkce v akci, kde Beta is enabled
se zpráva zobrazí na stránce, ale jenom v případě, že je příznak funkce povolený v App Configuration Storu.
Úplný ukázkový projekt najdete tady.
Kdykoli se tyto koncové body aktivují, můžete provést kontrolu aktualizace, aby se zajistilo, že se použijí nejnovější hodnoty konfigurace. Tato kontrola se může vrátit okamžitě, pokud se interval aktualizace ještě neprodá nebo už probíhá aktualizace.
Po dokončení aktualizace se aktualizují všechny hodnoty najednou, takže konfigurace je vždy konzistentní v rámci objektu.
Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste se vyhnuli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že omylem neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.
- Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
- Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.
Po chvíli se skupina prostředků a všechny její prostředky odstraní.
Další kroky
V tomto rychlém startu jste vytvořili nový obchod App Configuration a použili ho ke správě funkcí v aplikaci v Pythonu prostřednictvím knihovny správy funkcí.
- Přečtěte si další informace o správě funkcí.
- Správa příznaků funkcí