Erstellen einer Python-App mit dem Azure SDK für Python

Dieses Dokument enthält Beispiele für den Zugriff auf Ihre Daten in Azure App Configuration unter Verwendung des Azure SDK für Python.

Tipp

App Configuration bietet eine Python-Anbieterbibliothek, die auf dem Python SDK basiert und mit umfangreicheren Features einfacher zu verwenden ist. Konfigurationseinstellungen können damit wie ein Wörterbuch verwendet werden. Außerdem stehen weitere Features wie die Konfigurationserstellung auf der Grundlage mehrerer Bezeichnungen, die Kürzung von Schlüsselnamen sowie die automatische Auflösung von Key Vault-Verweisen zur Verfügung. Weitere Informationen finden Sie in der Python-Schnellstartanleitung.

Voraussetzungen

Erstellen eines Schlüssel-Wert-Paars

Fügen Sie dem App Configuration-Speicher die folgenden Schlüssel-Wert-Paare hinzu, und übernehmen Sie für Bezeichnung und Inhaltstyp die Standardwerte. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.

Schlüssel Wert
TestApp:Settings:Message Daten aus Azure App Configuration

Einrichten der Python-App

  1. Erstellen Sie ein neues Verzeichnis für das Projekt, und nennen Sie es app-configuration-example.

    mkdir app-configuration-example
    
  2. Wechseln Sie zu dem neu erstellten Verzeichnis app-configuration-example.

    cd app-configuration-example
    
  3. Installieren Sie die Azure App Configuration-Clientbibliothek mit dem Befehl pip install.

    pip install azure-appconfiguration
    
  4. Erstellen Sie im Verzeichnis app-configuration-example eine neue Datei mit dem Namen app-configuration-example.py, und fügen Sie ihr den folgenden Code hinzu:

    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)
    

Hinweis

Die Codeschnipsel in dieser Schnellstartanleitung helfen Ihnen bei den ersten Schritten mit der App Configuration-Clientbibliothek für Python. Für Ihre Anwendung sollten Sie auch berücksichtigen, dass Ausnahmen je nach Ihren Anforderungen verarbeitet werden. Weitere Informationen zur Behandlung von Ausnahmen finden Sie in unserer Dokumentation zum Python SDK.

Konfigurieren der App Configuration-Verbindungszeichenfolge

  1. Legen Sie eine Umgebungsvariable mit dem Namen AZURE_APPCONFIG_CONNECTION_STRING auf die Verbindungszeichenfolge für Ihren App Configuration-Speicher fest. Führen Sie an der Befehlszeile den folgenden Befehl aus:

    Um die App mithilfe der Windows-Eingabeaufforderung lokal auszuführen, führen Sie den folgenden Befehl aus, und ersetzen Sie dabei <app-configuration-store-connection-string> durch die Verbindungszeichenfolge Ihres App-Konfigurationsspeichers:

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. Geben Sie mit dem unten stehenden Befehl den Wert der Umgebungsvariablen aus, um zu überprüfen, ob sie richtig festgelegt wurde.

    Starten Sie die Eingabeaufforderung über eine Windows-Eingabeaufforderung neu, damit die Änderung wirksam wird, und führen Sie den folgenden Befehl aus:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Codebeispiele

Anhand der Beispielcodeausschnitte in diesem Abschnitt wird veranschaulicht, wie Sie häufige Vorgänge mit der App Configuration-Clientbibliothek für Python durchführen. Fügen Sie diese Codeausschnipsel dem Block try in der Datei app-configuration-example.py hinzu, die Sie weiter oben erstellt haben.

Hinweis

In der App Configuration-Clientbibliothek wird auf ein Schlüssel-Wert-Objekt als ConfigurationSetting verwiesen. Daher werden die Schlüsselwerte im App Configuration-Speicher als Konfigurationseinstellungen bezeichnet.

Unter den folgenden Links finden Sie Anleitungen für die entsprechenden Aktionen:

Herstellen einer Verbindung mit einem App Configuration-Speicher

Mit dem folgenden Codeausschnitt wird eine Instanz von AzureAppConfigurationClient erstellt, indem die in Ihren Umgebungsvariablen gespeicherte Verbindungszeichenfolge verwendet wird.

    connection_string = os.getenv('AZURE_APPCONFIG_CONNECTION_STRING')
    app_config_client = AzureAppConfigurationClient.from_connection_string(connection_string)

Abrufen einer Konfigurationseinstellung

Mit dem folgenden Codeausschnitt wird eine Konfigurationseinstellung anhand des key-Namens abgerufen.

    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)

Hinzufügen einer Konfigurationseinstellung

Mit dem folgenden Codeausschnitt wird ein ConfigurationSetting-Objekt mit den Feldern key und value erstellt und die Methode add_configuration_setting aufgerufen. Diese Methode löst eine Ausnahme aus, wenn Sie versuchen, eine Konfigurationseinstellung hinzuzufügen, die in Ihrem Speicher bereits vorhanden ist. Wenn Sie die Nutzung dieser Ausnahme vermeiden möchten, können Sie stattdessen die Methode set_configuration_setting verwenden.

    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)

Abrufen einer Liste mit Konfigurationseinstellungen

Mit dem folgenden Codeausschnitt wird eine Liste mit Konfigurationseinstellungen abgerufen. Die Argumente key_filter und label_filter können bereitgestellt werden, um Schlüsselwerte nach key bzw. label zu filtern. Weitere Informationen zum Filtern finden Sie unter Abfragen von Konfigurationseinstellungen.

    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)

Sperren einer Konfigurationseinstellung

Der Sperrstatus eines Schlüsselwerts in App Configuration wird mit dem Attribut read_only des Objekts ConfigurationSetting angegeben. Wenn read_only auf True festgelegt ist, ist diese Einstellung gesperrt. Die Methode set_read_only kann mit dem Argument read_only=True aufgerufen werden, um die Konfigurationseinstellung zu sperren.

    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))

Entsperren einer Konfigurationseinstellung

Wenn das Attribut read_only für eine Konfigurationseinstellung (ConfigurationSetting) auf False festgelegt ist, ist die Einstellung entsperrt. Die Methode set_read_only kann mit dem Argument read_only=False aufgerufen werden, um die Konfigurationseinstellung zu entsperren.

    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))

Aktualisieren einer Konfigurationseinstellung

Die Methode set_configuration_setting kann verwendet werden, um eine vorhandene Einstellung zu aktualisieren oder eine neue zu erstellen. Mit dem folgenden Codeausschnitt wird der Wert einer vorhandenen Konfigurationseinstellung geändert.

    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)

Löschen einer Konfigurationseinstellung

Mit dem folgenden Codeausschnitt wird eine Konfigurationseinstellung anhand des key-Namens gelöscht.


    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)

Ausführen der App

In diesem Beispiel haben Sie eine Python-App erstellt, bei der die Azure App Configuration-Clientbibliothek zum Abrufen einer Konfigurationseinstellung verwendet wurde, die mit dem Azure-Portal erstellt wurde. Sie haben eine neue Einstellung hinzugefügt, eine Liste mit vorhandenen Einstellungen abgerufen und eine Einstellung gesperrt, entsperrt, aktualisiert und schließlich gelöscht.

An diesem Punkt sollte Ihre Datei app-configuration-example.py den folgenden Code enthalten:

import os
from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting

try:
    print("Azure App Configuration - Python example")
    # Example code goes here

    connection_string = os.getenv('AZURE_APPCONFIG_CONNECTION_STRING')
    app_config_client = AzureAppConfigurationClient.from_connection_string(connection_string)

    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)

Navigieren Sie im Konsolenfenster zu dem Verzeichnis, das die Datei app-configuration-example.py enthält, und führen Sie den folgenden Python-Befehl aus, um die App auszuführen:

python app-configuration-example.py

Die folgende Ausgabe wird angezeigt:

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!

Bereinigen von Ressourcen

Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
  2. Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
  3. Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
  4. Wählen Sie die Option Ressourcengruppe löschen.
  5. Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.

Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

Nächste Schritte

In diesem Leitfaden wurde gezeigt, wie Sie das Azure SDK für Python verwenden, um auf Ihre Daten in Azure App Configuration zuzugreifen.

Weitere Codebeispiele finden Sie unter:

Informationen zur Verwendung von Azure App Configuration mit Python-Apps finden Sie hier: