Tworzenie aplikacji w języku Python przy użyciu zestawu Azure SDK dla języka Python
W tym dokumencie przedstawiono przykłady użycia zestawu Azure SDK dla języka Python w celu uzyskania dostępu do danych w usłudze aplikacja systemu Azure Configuration.
Napiwek
Usługa App Configuration oferuje bibliotekę dostawcy języka Python, która jest oparta na zestawie SDK języka Python i została zaprojektowana tak, aby ułatwić korzystanie z bogatszych funkcji. Umożliwia ona używanie ustawień konfiguracji, takich jak słownik, i oferuje inne funkcje, takie jak kompozycja konfiguracji z wielu etykiet, przycinanie nazw kluczy i automatyczne rozpoznawanie odwołań usługi Key Vault. Przejdź do przewodnika Szybki start dla języka Python, aby dowiedzieć się więcej.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Python 3.8 lub nowszy — aby uzyskać informacje na temat konfigurowania języka Python w systemie Windows, zobacz dokumentację języka Python w systemie Windows
- Magazyn usługi App Configuration. Utwórz magazyn.
Tworzenie wartości klucz-wartość
Dodaj następującą wartość klucza do magazynu App Configuration i pozostaw wartości domyślne Etykieta i Typ zawartości. Aby uzyskać więcej informacji na temat dodawania wartości klucz-wartości do magazynu przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value (Tworzenie wartości klucza).
Key | Wartość |
---|---|
TestApp:Settings:Message | Dane z konfiguracji aplikacja systemu Azure |
Konfigurowanie aplikacji w języku Python
Utwórz nowy katalog dla projektu o nazwie app-configuration-example.
mkdir app-configuration-example
Przejdź do nowo utworzonego katalogu app-configuration-example .
cd app-configuration-example
Zainstaluj bibliotekę klienta aplikacja systemu Azure Configuration przy użyciu
pip install
polecenia .pip install azure-appconfiguration
Utwórz nowy plik o nazwie app-configuration-example.py w katalogu app-configuration-example i dodaj następujący kod:
import os from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting try: print("Azure App Configuration - Python example") # Example code goes here except Exception as ex: print('Exception:') print(ex)
Uwaga
Fragmenty kodu w tym przykładzie ułatwią rozpoczęcie pracy z biblioteką klienta usługi App Configuration dla języka Python. W przypadku aplikacji należy również rozważyć obsługę wyjątków zgodnie z potrzebami. Aby dowiedzieć się więcej na temat obsługi wyjątków, zapoznaj się z naszą dokumentacją zestawu SDK języka Python.
Przykłady kodu
W przykładowych fragmentach kodu w tej sekcji pokazano, jak wykonywać typowe operacje za pomocą biblioteki klienta usługi App Configuration dla języka Python. Dodaj te fragmenty kodu do try
bloku w utworzonym wcześniej pliku app-configuration-example.py .
Uwaga
Biblioteka klienta usługi App Configuration odwołuje się do obiektu klucz-wartość jako ConfigurationSetting
. W związku z tym w tym artykule wartości klucza w magazynie App Configuration będą określane jako ustawienia konfiguracji.
Dowiedz się poniżej, jak:
- Nawiązywanie połączenia z magazynem usługi App Configuration
- Pobieranie ustawienia konfiguracji
- Dodawanie ustawienia konfiguracji
- Pobieranie listy ustawień konfiguracji
- Blokowanie ustawienia konfiguracji
- Odblokowywanie ustawienia konfiguracji
- Aktualizowanie ustawienia konfiguracji
- Usuwanie ustawienia konfiguracji
Nawiązywanie połączenia z magazynem usługi App Configuration
Poniższy fragment kodu tworzy wystąpienie klasy AzureAppConfigurationClient. Możesz nawiązać połączenie ze sklepem App Configuration przy użyciu identyfikatora Entra firmy Microsoft (zalecane) lub parametry połączenia.
Użyj polecenia DefaultAzureCredential
, aby uwierzytelnić się w magazynie usługi App Configuration. Postępuj zgodnie z instrukcjami, aby przypisać poświadczenia roli Czytelnik danych konfiguracji aplikacji. Przed uruchomieniem aplikacji należy zezwolić na wystarczający czas na propagację uprawnień.
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
endpoint = os.getenv('AZURE_APPCONFIG_ENDPOINT')
app_config_client = AzureAppConfigurationClient(base_url=endpoint, credential=credential)
Pobieranie ustawienia konfiguracji
Poniższy fragment kodu pobiera ustawienie konfiguracji według key
nazwy.
retrieved_config_setting = app_config_client.get_configuration_setting(key='TestApp:Settings:Message')
print("\nRetrieved configuration setting:")
print("Key: " + retrieved_config_setting.key + ", Value: " + retrieved_config_setting.value)
Dodawanie ustawienia konfiguracji
Poniższy fragment kodu tworzy ConfigurationSetting
obiekt z polami key
i value
i wywołuje metodę add_configuration_setting
.
Ta metoda zgłosi wyjątek, jeśli spróbujesz dodać ustawienie konfiguracji, które już istnieje w twoim sklepie. Jeśli chcesz uniknąć tego wyjątku, zamiast tego można użyć metody set_configuration_setting .
config_setting = ConfigurationSetting(
key='TestApp:Settings:NewSetting',
value='New setting value'
)
added_config_setting = app_config_client.add_configuration_setting(config_setting)
print("\nAdded configuration setting:")
print("Key: " + added_config_setting.key + ", Value: " + added_config_setting.value)
Pobieranie listy ustawień konfiguracji
Poniższy fragment kodu pobiera listę ustawień konfiguracji. Argumenty key_filter
i label_filter
można podać, aby filtrować wartości klucz-wartości odpowiednio na key
podstawie i label
. Aby uzyskać więcej informacji na temat filtrowania, zobacz jak wykonywać zapytania dotyczące ustawień konfiguracji.
filtered_settings_list = app_config_client.list_configuration_settings(key_filter="TestApp*")
print("\nRetrieved list of configuration settings:")
for item in filtered_settings_list:
print("Key: " + item.key + ", Value: " + item.value)
Blokowanie ustawienia konfiguracji
Stan blokady klucz-wartość w usłudze App Configuration jest oznaczany przez read_only
atrybut ConfigurationSetting
obiektu. Jeśli read_only
wartość to True
, ustawienie jest zablokowane. Metodę set_read_only
można wywołać za pomocą read_only=True
argumentu, aby zablokować ustawienie konfiguracji.
locked_config_setting = app_config_client.set_read_only(added_config_setting, read_only=True)
print("\nRead-only status for " + locked_config_setting.key + ": " + str(locked_config_setting.read_only))
Odblokowywanie ustawienia konfiguracji
Jeśli atrybut elementu read_only
ConfigurationSetting
to False
, ustawienie jest odblokowane. Metodę set_read_only
można wywołać z argumentem read_only=False
w celu odblokowania ustawienia konfiguracji.
unlocked_config_setting = app_config_client.set_read_only(locked_config_setting, read_only=False)
print("\nRead-only status for " + unlocked_config_setting.key + ": " + str(unlocked_config_setting.read_only))
Aktualizowanie ustawienia konfiguracji
Metody set_configuration_setting
można użyć do zaktualizowania istniejącego ustawienia lub utworzenia nowego ustawienia. Poniższy fragment kodu zmienia wartość istniejącego ustawienia konfiguracji.
added_config_setting.value = "Value has been updated!"
updated_config_setting = app_config_client.set_configuration_setting(added_config_setting)
print("\nUpdated configuration setting:")
print("Key: " + updated_config_setting.key + ", Value: " + updated_config_setting.value)
Usuwanie ustawienia konfiguracji
Poniższy fragment kodu usuwa ustawienie konfiguracji według key
nazwy.
deleted_config_setting = app_config_client.delete_configuration_setting(key="TestApp:Settings:NewSetting")
print("\nDeleted configuration setting:")
print("Key: " + deleted_config_setting.key + ", Value: " + deleted_config_setting.value)
Uruchom aplikację
W tym przykładzie utworzono aplikację w języku Python, która używa biblioteki klienta aplikacja systemu Azure Configuration do pobierania ustawienia konfiguracji utworzonego za pośrednictwem witryny Azure Portal, dodawania nowego ustawienia, pobierania listy istniejących ustawień, blokowania i odblokowywania ustawienia, aktualizowania ustawienia i usuwania ustawienia.
Na tym etapie plik app-configuration-example.py powinien mieć następujący kod:
import os
from azure.identity import DefaultAzureCredential
from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting
try:
print("Azure App Configuration - Python example")
# Example code goes here
credential = DefaultAzureCredential()
endpoint = os.getenv('AZURE_APPCONFIG_ENDPOINT')
app_config_client = AzureAppConfigurationClient(base_url=endpoint, credential=credential)
retrieved_config_setting = app_config_client.get_configuration_setting(key='TestApp:Settings:Message')
print("\nRetrieved configuration setting:")
print("Key: " + retrieved_config_setting.key + ", Value: " + retrieved_config_setting.value)
config_setting = ConfigurationSetting(
key='TestApp:Settings:NewSetting',
value='New setting value'
)
added_config_setting = app_config_client.add_configuration_setting(config_setting)
print("\nAdded configuration setting:")
print("Key: " + added_config_setting.key + ", Value: " + added_config_setting.value)
filtered_settings_list = app_config_client.list_configuration_settings(key_filter="TestApp*")
print("\nRetrieved list of configuration settings:")
for item in filtered_settings_list:
print("Key: " + item.key + ", Value: " + item.value)
locked_config_setting = app_config_client.set_read_only(added_config_setting, read_only=True)
print("\nRead-only status for " + locked_config_setting.key + ": " + str(locked_config_setting.read_only))
unlocked_config_setting = app_config_client.set_read_only(locked_config_setting, read_only=False)
print("\nRead-only status for " + unlocked_config_setting.key + ": " + str(unlocked_config_setting.read_only))
added_config_setting.value = "Value has been updated!"
updated_config_setting = app_config_client.set_configuration_setting(added_config_setting)
print("\nUpdated configuration setting:")
print("Key: " + updated_config_setting.key + ", Value: " + updated_config_setting.value)
deleted_config_setting = app_config_client.delete_configuration_setting(key="TestApp:Settings:NewSetting")
print("\nDeleted configuration setting:")
print("Key: " + deleted_config_setting.key + ", Value: " + deleted_config_setting.value)
except Exception as ex:
print('Exception:')
print(ex)
Konfigurowanie zmiennej środowiskowej
Ustaw zmienną środowiskową o nazwie AZURE_APPCONFIG_ENDPOINT na punkt końcowy sklepu App Configuration znajdującego się w obszarze Przegląd sklepu w witrynie Azure Portal.
Jeśli używasz wiersza polecenia systemu Windows, uruchom następujące polecenie i uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmian:
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
Jeśli używasz programu PowerShell, uruchom następujące polecenie:
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
Jeśli używasz systemu macOS lub Linux, uruchom następujące polecenie:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Po poprawnym ustawieniu zmiennej środowiskowej w oknie konsoli przejdź do katalogu zawierającego plik app-configuration-example.py i wykonaj następujące polecenie języka Python, aby uruchomić aplikację:
python app-configuration-example.py
Powinny zostać wyświetlone następujące dane wyjściowe:
Azure App Configuration - Python example Retrieved configuration setting: Key: TestApp:Settings:Message, Value: Data from Azure App Configuration Added configuration setting: Key: TestApp:Settings:NewSetting, Value: New setting value Retrieved list of configuration settings: Key: TestApp:Settings:Message, Value: Data from Azure App Configuration Key: TestApp:Settings:NewSetting, Value: New setting value Read-only status for TestApp:Settings:NewSetting: True Read-only status for TestApp:Settings:NewSetting: False Updated configuration setting: Key: TestApp:Settings:NewSetting, Value: Value has been updated! Deleted configuration setting: Key: TestApp:Settings:NewSetting, Value: Value has been updated!
Czyszczenie zasobów
Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.
Ważne
Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przypadkowo nieprawidłowej grupy zasobów ani zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.
- Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
- W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
- Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
- Wybierz pozycję Usuń grupę zasobów.
- Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.
Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.
Następne kroki
W tym przewodniku pokazano, jak używać zestawu Azure SDK dla języka Python do uzyskiwania dostępu do danych w usłudze aplikacja systemu Azure Configuration.
Aby uzyskać dodatkowe przykłady kodu, odwiedź stronę:
Aby dowiedzieć się, jak używać usługi aplikacja systemu Azure Configuration z aplikacjami języka Python, przejdź do: