Udostępnij za pośrednictwem


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

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

  1. Utwórz nowy katalog dla projektu o nazwie app-configuration-example.

    mkdir app-configuration-example
    
  2. Przejdź do nowo utworzonego katalogu app-configuration-example .

    cd app-configuration-example
    
  3. Zainstaluj bibliotekę klienta aplikacja systemu Azure Configuration przy użyciu pip install polecenia .

    pip install azure-appconfiguration
    
  4. 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

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_onlyConfigurationSetting 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)
  1. 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>'
    
  2. 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.

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. 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: