Szybki start: używanie usługi Azure Cache for Redis w środowisku Python
W tym przewodniku Szybki start dołączasz usługę Azure Cache for Redis do skryptu języka Python, aby mieć dostęp do bezpiecznej dedykowanej pamięci podręcznej dostępnej z dowolnej aplikacji na platformie Azure.
Przejdź do kodu w usłudze GitHub
Jeśli chcesz przejść prosto do kodu, zobacz przewodnik Szybki start języka Python w witrynie GitHub.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Python 3
- W przypadku systemu macOS lub Linux pobierz z witryny python.org.
- W przypadku systemu Windows 11 użyj Sklepu Windows.
Tworzenie wystąpienia pamięci podręcznej Azure Cache for Redis
Aby utworzyć pamięć podręczną, zaloguj się do witryny Azure Portal i wybierz pozycję Utwórz zasób.
Na stronie Wprowadzenie wpisz Azure Cache for Redis w polu wyszukiwania. Następnie wybierz przycisk Utwórz.
Na stronie Nowa pamięć podręczna Redis Cache skonfiguruj ustawienia pamięci podręcznej.
Ustawienie Wybierz wartość opis Subskrypcja Z listy rozwijanej i wybierz subskrypcję. Subskrypcja, w ramach której ma zostać utworzone to nowe wystąpienie usługi Azure Cache for Redis. Grupa zasobów: Z listy rozwijanej i wybierz grupę zasobów lub wybierz pozycję Utwórz nową i wprowadź nową nazwę grupy zasobów. Nazwa grupy zasobów, w której ma zostać utworzona pamięć podręczna i inne zasoby. Umieszczając wszystkie zasoby aplikacji w jednej grupie zasobów, można je łatwo zarządzać lub usuwać razem. Nazwa DNS Wprowadź unikatową nazwę. Nazwa pamięci podręcznej musi być ciągiem z zakresu od 1 do 63 znaków, które zawierają tylko cyfry, litery lub łączniki. Nazwa musi zaczynać się i kończyć cyfrą lub literą i nie może zawierać kolejnych łączników. Nazwa hosta wystąpienia pamięci podręcznej to <nazwa> DNS.redis.cache.windows.net. Lokalizacja Z listy rozwijanej i wybierz lokalizację. Wybierz region w pobliżu innych usług korzystających z pamięci podręcznej. Jednostka SKU pamięci podręcznej Z listy rozwijanej wybierz jednostkę SKU. Jednostka SKU określa rozmiar, wydajność i parametry funkcji, które są dostępne dla pamięci podręcznej. Aby uzyskać więcej informacji, zobacz Omówienie pamięci podręcznej Azure Cache for Redis. Rozmiar pamięci podręcznej Lista rozwijana i wybieranie rozmiaru pamięci podręcznej Aby uzyskać więcej informacji, zobacz Omówienie pamięci podręcznej Azure Cache for Redis. Wybierz kartę Sieć lub wybierz przycisk Sieć w dolnej części strony.
Na karcie Sieć wybierz metodę łączności.
Wybierz kartę Dalej: Zaawansowane lub wybierz przycisk Dalej: Zaawansowane w dolnej części strony, aby wyświetlić kartę Zaawansowane.
- W przypadku pamięci podręcznych w warstwie Podstawowa lub Standardowa przełącz wybór portu innego niż TLS. Możesz również wybrać, jeśli chcesz włączyć uwierzytelnianie firmy Microsoft Entra.
- W przypadku pamięci podręcznej Premium skonfiguruj ustawienia portów innych niż TLS, klastrowanie, tożsamość zarządzana i trwałość danych. Możesz również wybrać, jeśli chcesz włączyć uwierzytelnianie firmy Microsoft Entra.
Ważne
Aby uzyskać optymalne zabezpieczenia, firma Microsoft zaleca używanie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem pamięci podręcznej, jeśli to możliwe. Autoryzacja przy użyciu identyfikatora Entra firmy Microsoft i tożsamości zarządzanych zapewnia doskonałe zabezpieczenia i łatwość użycia w przypadku autoryzacji klucza współdzielonego. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych z pamięciami podręcznymi, zobacz Use Microsoft Entra ID for cache authentication (Używanie identyfikatora Entra firmy Microsoft do uwierzytelniania w pamięci podręcznej).
Wybierz kartę Dalej: Tagi lub wybierz przycisk Dalej: Tagi w dolnej części strony.
Opcjonalnie na karcie Tagi wprowadź nazwę i wartość, jeśli chcesz skategoryzować zasób.
Wybierz pozycję Przejrzyj i utwórz. Przejdź do karty Przeglądanie i tworzenie, na której platforma Azure weryfikuje konfigurację.
Po pojawieniu się zielonego komunikatu Weryfikacja przekazana wybierz pozycję Utwórz.
Utworzenie pamięci podręcznej zajmuje trochę czasu. Postęp można monitorować na stronie Przegląd usługi Azure Cache for Redis. Gdy stan jest wyświetlany jako Uruchomiono, pamięć podręczna jest gotowa do użycia.
Instalowanie biblioteki redis-py
Redis-py to interfejs języka Python dla usługi Azure Cache for Redis. Użyj narzędzia pakiety języka Python, pip
, aby zainstalować redis-py
pakiet z wiersza polecenia.
W poniższym przykładzie użyto pip3
języka Python 3 do zainstalowania redis-py
w systemie Windows 11 z poziomu wiersza polecenia administratora.
Tworzenie skryptu języka Python w celu uzyskania dostępu do pamięci podręcznej
Utwórz skrypt języka Python, który używa identyfikatora Entra firmy Microsoft lub kluczy dostępu w celu nawiązania połączenia z usługą Azure Cache for Redis. Zalecamy użycie identyfikatora Entra firmy Microsoft.
- Uwierzytelnianie identyfikatora Entra firmy Microsoft (zalecane)
- Uwierzytelnianie za pomocą klucza dostępu
Włączanie uwierzytelniania identyfikatora Entra firmy Microsoft w pamięci podręcznej
Jeśli masz już pamięć podręczną, najpierw chcesz sprawdzić, czy włączono uwierzytelnianie Entra firmy Microsoft. Jeśli nie, włącz ją. Zalecamy używanie identyfikatora Entra firmy Microsoft dla aplikacji.
W witrynie Azure Portal wybierz wystąpienie usługi Azure Cache for Redis, w którym chcesz użyć uwierzytelniania opartego na tokenach firmy Microsoft.
Wybierz pozycję Uwierzytelnianie z menu Zasób.
Sprawdź w okienku roboczym, czy jest zaznaczone pole wyboru Włącz uwierzytelnianie firmy Microsoft Entra. Jeśli tak, możesz przejść dalej.
Wybierz pozycję Włącz uwierzytelnianie firmy Microsoft Entra i wprowadź nazwę prawidłowego użytkownika. Wprowadzony użytkownik jest automatycznie przypisywany zasad dostępu właściciela danych domyślnie po wybraniu pozycji Zapisz. Możesz również wprowadzić tożsamość zarządzaną lub jednostkę usługi, aby nawiązać połączenie z wystąpieniem pamięci podręcznej.
Zostanie wyświetlone okno podręczne z pytaniem, czy chcesz zaktualizować konfigurację, i informuje o tym, że zajmuje to kilka minut. Wybierz opcję Tak.
Ważne
Po zakończeniu operacji włączania węzły w wystąpieniu pamięci podręcznej są ponownie uruchamiane w celu załadowania nowej konfiguracji. Zalecamy wykonanie tej operacji w oknie obsługi lub poza godzinami pracy szczytu. Operacja może potrwać do 30 minut.
Aby uzyskać informacje na temat korzystania z identyfikatora Entra firmy Microsoft z interfejsem wiersza polecenia platformy Azure, zobacz strony referencyjne dotyczące tożsamości.
Instalowanie biblioteki uwierzytelniania firmy Microsoft
Zainstaluj bibliotekę Microsoft Authentication Library (MSAL). Ta biblioteka umożliwia uzyskiwanie tokenów zabezpieczających z tożsamości firmy Microsoft w celu uwierzytelniania użytkowników.
Aby zapewnić obsługę uwierzytelniania tokenu, możesz użyć dostępnej biblioteki klienta tożsamości platformy Azure języka Python, która używa biblioteki MSAL. Zainstaluj tę bibliotekę przy użyciu polecenia
pip
:
pip install azure-identity
Tworzenie skryptu języka Python przy użyciu identyfikatora Entra firmy Microsoft
Utwórz nowy plik tekstowy, dodaj następujący skrypt i zapisz plik jako
PythonApplication1.py
.Zastąp
<Your Host Name>
ciąg wartością z wystąpienia usługi Azure Cache for Redis. Nazwa hosta ma postać<DNS name>.redis.cache.windows.net
.Zastąp
<Your Username>
ciąg wartościami z użytkownika 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()
Przed uruchomieniem kodu w języku Python z poziomu terminalu upewnij się, że autoryzujesz terminal do korzystania z identyfikatora Entra firmy Microsoft.
azd auth login
Uruchom polecenie przy użyciu
PythonApplication1.py
języka Python. Powinny zostać wyświetlone wyniki podobne do następującego przykładu:
Tworzenie skryptu języka Python przy użyciu ponownego uwierzytelniania
Tokeny dostępu identyfikatora Entra firmy Microsoft mają ograniczoną żywotność, średnio 75 minut. Aby zachować połączenie z pamięcią podręczną, należy odświeżyć token. W tym przykładzie pokazano, jak to zrobić przy użyciu języka Python.
Utwórz nowy plik tekstowy, dodaj następujący skrypt. Następnie zapisz plik jako
PythonApplication2.py
.Zastąp
<Your Host Name>
ciąg wartością z wystąpienia usługi Azure Cache for Redis. Nazwa hosta ma postać<DNS name>.redis.cache.windows.net
.Zastąp
<Your Username>
ciąg wartościami z użytkownika 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()
Uruchom polecenie przy użyciu
PythonApplication2.py
języka Python. Powinny zostać wyświetlone wyniki podobne do następującego przykładu:W przeciwieństwie do pierwszego przykładu, jeśli token wygaśnie, ten przykład automatycznie je odświeża.
Czyszczenie zasobów
Jeśli chcesz nadal korzystać z zasobów utworzonych w tym artykule, zachowaj grupę zasobów.
W przeciwnym razie, jeśli skończysz z zasobami, możesz usunąć utworzoną grupę zasobów platformy Azure, aby uniknąć naliczania opłat.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Jeśli usuniesz grupę zasobów, wszystkie zawarte w niej zasoby zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub grupy zasobów. Jeśli zasoby zostały utworzone w istniejącej grupie zasobów zawierającej zasoby, które chcesz zachować, możesz usunąć każdy zasób indywidualnie zamiast usuwać grupę zasobów.
Aby usunąć grupę zasobów
Zaloguj się do witryny Azure Portal, a następnie wybierz pozycję Grupy zasobów.
Wybierz grupę zasobów, którą chcesz usunąć.
Jeśli istnieje wiele grup zasobów, użyj pola Filtruj dla dowolnego pola... wpisz nazwę grupy zasobów utworzonej dla tego artykułu. Wybierz grupę zasobów na liście wyników.
Wybierz pozycję Usuń grupę zasobów.
Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wpisz nazwę grupy zasobów w celu potwierdzenia, a następnie wybierz pozycję Usuń.
Po krótkim czasie grupa zasobów i wszystkie jej zasoby zostaną usunięte.
Powiązana zawartość
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla