Rychlý start: Použití Azure Cache for Redis s aplikací v Pythonu
V tomto rychlém startu zahrnete Azure Cache for Redis do skriptu Pythonu pro přístup k zabezpečené vyhrazené mezipaměti, která je přístupná z libovolné aplikace v Azure.
Přeskočit na kód
Tento článek popisuje, jak vytvořit aplikaci v Pythonu a pak upravit kód tak, aby skončil s funkční ukázkovou aplikací.
Pokud chcete přeskočit přímo ke kódu, podívejte se na ukázku rychlého startu Pythonu na GitHubu.
Požadavky
- Předplatné Azure. Vytvořte si ho zdarma
- Python 3
- Pro macOS nebo Linux si stáhněte python.org.
- Pro Windows 11 použijte Windows Store.
Vytvoření mezipaměti
Pokud chcete vytvořit mezipaměť, přihlaste se k webu Azure Portal. V nabídce portálu vyberte Vytvořit prostředek.
V podokně Začínáme zadejte azure Cache for Redis na panelu hledání. Ve výsledcích hledání vyhledejte Azure Cache for Redis a pak vyberte Vytvořit.
V podokně New Redis Cache na kartě Základy nakonfigurujte pro mezipaměť následující nastavení:
Nastavení Akce Popis Předplatné Vyberte své předplatné Azure. Předplatné, které se má použít k vytvoření nové instance Azure Cache for Redis. Skupina prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novou a zadejte název nové skupiny prostředků. Název skupiny prostředků, ve které chcete vytvořit mezipaměť a další prostředky. Když umístíte všechny prostředky aplikace do jedné skupiny prostředků, můžete je snadno spravovat nebo odstraňovat společně. Název DNS Zadejte jedinečný název. Název mezipaměti musí být řetězec 1 až 63 znaků, který obsahuje jenom číslice, písmena a pomlčky. Název musí začínat a končit číslem nebo písmenem a nesmí obsahovat po sobě jdoucí pomlčky. Název hostitele vaší instance mezipaměti je \<DNS name>.redis.cache.windows.net
.Místo Vyberte umístění. Oblast Azure, která je blízko jiných služeb, které používají vaši mezipaměť. Skladová položka mezipaměti Vyberte skladovou položku. Skladová položka určuje velikost, výkon a parametry funkcí, které jsou k dispozici pro mezipaměť. Další informace najdete v přehledu služby Azure Cache for Redis. Velikost mezipaměti Vyberte velikost mezipaměti. Další informace najdete v přehledu služby Azure Cache for Redis. Vyberte kartu Sítě nebo vyberte Další: Sítě.
Na kartě Sítě vyberte metodu připojení, která se má použít pro mezipaměť.
Vyberte kartu Upřesnit nebo vyberte Další: Upřesnit.
V podokně Upřesnit ověřte nebo vyberte metodu ověřování na základě následujících informací:
- Ve výchozím nastavení je pro novou mezipaměť Basic, Standard nebo Premium povolená služba Microsoft Entra Authentication a ověřování přístupových klíčů je zakázané.
- U mezipamětí Basic nebo Standard můžete zvolit výběr pro port jiného typu než TLS.
- U mezipamětí Standard a Premium můžete povolit zóny dostupnosti. Po vytvoření mezipaměti nemůžete zakázat zóny dostupnosti.
- Pro mezipaměť Premium nakonfigurujte nastavení pro port bez protokolu TLS, clustering, spravovanou identitu a trvalost dat.
Důležité
Pro zajištění optimálního zabezpečení doporučujeme použít ID Microsoft Entra se spravovanými identitami k autorizaci požadavků v mezipaměti, pokud je to možné. Autorizace pomocí Microsoft Entra ID a spravovaných identit poskytuje vynikající zabezpečení a snadné použití prostřednictvím autorizace sdíleného přístupového klíče. Další informace o používání spravovaných identit s mezipamětí naleznete v tématu Použití MICROSOFT Entra ID pro ověřování mezipaměti.
(Volitelné) Vyberte kartu Značky nebo vyberte Další: Značky.
(Volitelné) Na kartě Značky zadejte název a hodnotu značky , pokud chcete zařadit prostředek mezipaměti do kategorií.
Vyberte tlačítko Zkontrolovat a vytvořit.
Na kartě Zkontrolovat a vytvořit Azure vaši konfiguraci automaticky ověří.
Jakmile se zobrazí zelená zpráva o úspěšném ověření, vyberte Vytvořit.
Během několika minut dojde k novému nasazení mezipaměti. Průběh nasazení můžete monitorovat v podokně Přehled služby Azure Cache for Redis. Když se zobrazí stav Spuštěno, je mezipaměť připravená k použití.
Instalace knihovny redis-py
Redis-py je rozhraní Pythonu pro Azure Cache for Redis. Pomocí nástroje balíčků Pythonu pip nainstalujte balíček redis-py na příkazový řádek.
Následující příklad používá pip3
python 3 k instalaci redis-py ve Windows 11 v okně příkazového řádku správce.
Vytvoření skriptu Pythonu pro přístup k mezipaměti
Vytvořte skript Pythonu, který pro připojení ke službě Azure Cache for Redis používá BUĎ ID Microsoft Entra, nebo přístupové klíče. Doporučujeme používat ID Microsoft Entra.
Povolení ověřování Microsoft Entra ID v mezipaměti
V případě existující mezipaměti nejprve zkontrolujte, jestli je povolené ověřování Microsoft Entra. Pokud tomu tak není, povolte ověřování Microsoft Entra provedením následujících kroků. Pro ověřování v aplikacích doporučujeme použít ID Microsoft Entra.
Na webu Azure Portal vyberte instanci Azure Cache for Redis, ve které chcete použít ověřování založené na tokenech Microsoft Entra.
V nabídce služby v části Nastavení vyberte Ověřování.
V podokně Ověřování zkontrolujte, zda je zaškrtnuté políčko Povolit ověřování Microsoft Entra. Pokud ano, můžete přejít k další části.
V opačném případě zaškrtněte políčko Povolit ověřování Microsoft Entra. Pak zadejte jméno platného uživatele. Zvolte Uložit. Uživatelské jméno, které zadáte, se automaticky přiřadí zásadám přístupu vlastníka dat.
Můžete také zadat spravovanou identitu nebo instanční objekt pro připojení k mezipaměti.
V dialogovém okně se zobrazí dotaz, jestli chcete aktualizovat konfiguraci, a jste informováni, že dokončení aktualizace trvá několik minut. Vyberte Ano.
Důležité
Po dokončení operace povolení se uzly v mezipaměti restartují, aby se načetla nová konfigurace. Tuto operaci doporučujeme dokončit během standardního časového období údržby nebo mimo špičku pracovní doby. Proces může trvat až 30 minut.
Informace o použití ID Microsoft Entra s Azure CLI najdete na referenčních stránkách identit.
Instalace knihovny Microsoft Authentication Library
Microsoft Authentication Library (MSAL) získává tokeny zabezpečení z platformy Microsoft Identity Platform pro ověřování uživatelů.
Instalace knihovny MSAL:
Nainstalujte MSAL pro Python.
Nainstalujte klientskou knihovnu identit Azure v Pythonu. Knihovna používá knihovnu MSAL k zajištění podpory ověřování tokenů.
Nainstalujte tuto knihovnu pomocí nástroje pip:
pip install azure-identity
Vytvoření skriptu Pythonu pomocí Microsoft Entra ID
Vytvořte textový soubor. Uložte soubor jako PythonApplication1.py.
V PythonApplication1.py přidejte a upravte následující skript.
Ve skriptu:
- Nahraďte
<Your Host Name>
hodnotou z instance Azure Cache for Redis. Váš název hostitele má formulář<DNS name>.redis.cache.windows.net
. - Nahraďte
<Your Username>
hodnotou uživatele Microsoft Entra ID.
import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 6380 user_name = "<Your Username>" def hello_world(): cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") if __name__ == '__main__': hello_world()
- Nahraďte
Před spuštěním kódu Pythonu v terminálu povolte terminál tak, aby používal Microsoft Entra ID:
azd auth login
Spusťte soubor PythonApplication1.py pomocí Pythonu. Ověřte, že výstup vypadá podobně jako v tomto příkladu:
Vytvoření skriptu Pythonu pomocí opětovného ověření
Přístupový token Microsoft Entra ID má omezenou životnost přibližně 75 minut. Pokud chcete zachovat připojení k mezipaměti, musíte token aktualizovat.
Tento příklad ukazuje, jak aktualizovat token pomocí Pythonu.
Vytvořte textový soubor. Uložte soubor jako PythonApplication2.py.
V PythonApplication2.py přidejte a upravte následující skript.
Ve skriptu:
- Nahraďte
<Your Host Name>
hodnotou z instance Azure Cache for Redis. Váš název hostitele má formulář<DNS name>.redis.cache.windows.net
. - Nahraďte
<Your Username>
hodnotou uživatele Microsoft Entra ID.
import time import logging import redis from azure.identity import DefaultAzureCredential scope = "https://redis.azure.com/.default" host = "<Your Host Name>" port = 6380 user_name = "<Your Username>" def re_authentication(): _LOGGER = logging.getLogger(__name__) cred = DefaultAzureCredential() token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) max_retry = 3 for index in range(max_retry): try: if _need_refreshing(token): _LOGGER.info("Refreshing token...") tmp_token = cred.get_token(scope) if tmp_token: token = tmp_token r.execute_command("AUTH", user_name, token.token) result = r.ping() print("Ping returned : " + str(result)) result = r.set("Message", "Hello!, The cache is working with Python!") print("SET Message returned : " + str(result)) result = r.get("Message") print("GET Message returned : " + result) result = r.client_list() print("CLIENT LIST returned : ") for c in result: print(f"id : {c['id']}, addr : {c['addr']}") break except redis.ConnectionError: _LOGGER.info("Connection lost. Reconnecting.") token = cred.get_token(scope) r = redis.Redis(host=host, port=port, ssl=True, # ssl connection is required. username=user_name, password=token.token, decode_responses=True) except Exception: _LOGGER.info("Unknown failures.") break def _need_refreshing(token, refresh_offset=300): return not token or token.expires_on - time.time() < refresh_offset if __name__ == '__main__': re_authentication()
- Nahraďte
Spusťte soubor PythonApplication2.py pomocí Pythonu. Ověřte, že výstup vypadá podobně jako v tomto příkladu:
Na rozdíl od předchozího příkladu, pokud platnost tokenu vyprší, kód v tomto příkladu automaticky aktualizuje token.
Vyčištění prostředků
Pokud chcete dál používat prostředky, které jste vytvořili v tomto článku, ponechte skupinu prostředků.
V opačném případě můžete zabránit poplatkům souvisejícím s prostředky, pokud jste dokončili používání prostředků, můžete odstranit skupinu prostředků Azure, kterou jste vytvořili.
Upozorňující
Odstranění skupiny prostředků je nevratné. Když odstraníte skupinu prostředků, všechny prostředky ve skupině prostředků se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste prostředky vytvořili v existující skupině prostředků, která obsahuje prostředky, které chcete zachovat, můžete místo odstranění skupiny prostředků odstranit jednotlivé prostředky.
Odstranění skupiny prostředků
Přihlaste se k portálu Azure Portal a potom vyberte Skupiny prostředků.
Vyberte skupinu prostředků, která se má odstranit.
Pokud existuje mnoho skupin prostředků, zadejte do pole Filtr libovolné pole název skupiny prostředků, kterou jste vytvořili pro dokončení tohoto článku. V seznamu výsledků hledání vyberte skupinu prostředků.
Vyberte Odstranit skupinu prostředků.
V podokně Odstranit skupinu prostředků zadejte název skupiny prostředků, abyste ji potvrdili, a pak vyberte Odstranit.
Během několika okamžiků se odstraní skupina prostředků a všechny její prostředky.