Création d’une application Python avec le kit de développement logiciel (SDK) Azure pour Python

Ce document vous présente des exemples d’utilisation du kit de développement logiciel (SDK) Azure pour Python dans le but d’accéder à vos données dans Azure App Configuration.

Conseil

App Configuration propose une bibliothèque de fournisseur Python qui s’appuie sur le kit SDK Python. Elle est conçue pour être plus facile à prendre en main et plus riche en fonctionnalités. Elle permet d’utiliser les paramètres de configuration comme un dictionnaire et offre des fonctionnalités telles que la composition de configuration à partir de plusieurs étiquettes, le découpage des noms de clé et la résolution automatique des références Key Vault. Accédez au démarrage rapide Python pour en savoir plus.

Prérequis

Création d’une clé-valeur

Ajoutez la clé-valeur suivante au magasin App Configuration et laissez les valeurs par défaut pour Étiquette et Type de contenu. Pour plus d’informations sur l’ajout de clés-valeurs à un magasin avec le Portail Azure ou la CLI, consultez Créer une clé-valeur.

Clé Valeur
TestApp:Settings:Message Data from Azure App Configuration

Configurer l’application Python

  1. Créez un répertoire nommé app-configuration-example pour le projet.

    mkdir app-configuration-example
    
  2. Basculez vers le répertoire app-configuration-example que vous venez de créer.

    cd app-configuration-example
    
  3. Installez la bibliothèque de client Azure App Configuration à l’aide de la commande pip install.

    pip install azure-appconfiguration
    
  4. Créez un fichier appelé app-configuration-example.py dans le répertoire app-configuration-example, puis ajoutez le code suivant :

    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)
    

Notes

Les extraits de code de cet exemple vous aideront à utiliser la bibliothèque de client App Configuration pour Python. Pour votre application, vous devez également envisager de gérer les exceptions en fonction de vos besoins. Pour en savoir plus sur la gestion des exceptions, consultez notre documentation sur le SDK Python.

Configurer votre chaîne de connexion App Configuration

  1. Définissez une variable d’environnement nommée AZURE_APPCONFIG_CONNECTION_STRING et affectez-lui la valeur de la chaîne de connexion à votre magasin App Configuration. Sur la ligne de commande, exécutez la commande suivante :

    Pour exécuter l’application localement en tirant parti de l’invite de commandes Windows, exécutez la commande suivante et remplacez<app-configuration-store-connection-string> par la chaîne de connexion de votre magasin de configurations des applications :

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. Imprimez la valeur de la variable d’environnement pour confirmer qu’elle est correctement définie à l’aide de la commande ci-dessous.

    Si vous utilisez l’invite de commandes Windows, redémarrez l’invite pour que la modification soit prise en compte et exécutez la commande suivante :

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Exemples de code

Les exemples d’extraits de code de cette section vous montrent comment effectuer des opérations courantes avec la bibliothèque de client App Configuration pour Python. Ajoutez ces extraits de code au bloc try dans le fichier app-configuration-example.py que vous avez créé.

Notes

La bibliothèque de client App Configuration fait référence à un objet clé/valeur sous la forme ConfigurationSetting. Ainsi, dans cet article, les paires clé/valeur dans le magasin App Configuration sont appelées paramètres de configuration.

Découvrez ci-dessous comment :

Se connecter à un magasin App Configuration

L’extrait de code suivant crée une instance d’AzureAppConfigurationClient à l’aide de la chaîne de connexion stockée dans vos variables d’environnement.

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

Obtenir un paramètre de configuration

L’extrait de code suivant récupère un paramètre de configuration par nom de clé (key).

    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)

Ajouter un paramètre de configuration

L’extrait de code suivant crée un objet ConfigurationSetting avec les champs key et value et appelle la méthode add_configuration_setting. Cette méthode lève une exception si vous essayez d’ajouter un paramètre de configuration qui existe déjà dans votre magasin. Pour éviter cette exception, vous pouvez utiliser la méthode set_configuration_setting à la place.

    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)

Obtenir la liste des paramètres de configuration

L’extrait de code suivant récupère la liste des paramètres de configuration. Vous pouvez fournir les arguments key_filter et label_filter pour filtrer les paires clé/valeur en fonction de key et label respectivement. Pour plus d’informations sur le filtrage, découvrez comment interroger les paramètres de configuration.

    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)

Verrouiller un paramètre de configuration

L’état de verrouillage d’une paire clé/valeur dans App Configuration est indiqué par l’attribut read_only de l’objet ConfigurationSetting. Si read_only a pour valeur True, le paramètre est verrouillé. La méthode set_read_only peut être appelée avec l’argument read_only=True pour verrouiller le paramètre de configuration.

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

Déverrouiller un paramètre de configuration

Si l’attribut read_only d’un objet ConfigurationSetting a pour valeur False, le paramètre est déverrouillé. La méthode set_read_only peut être appelée avec l’argument read_only=False pour déverrouiller le paramètre de configuration.

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

Mettre à jour un paramètre de configuration

La méthode set_configuration_setting peut être utilisée pour mettre à jour un paramètre existant ou créer un paramètre. L’extrait de code suivant change la valeur d’un paramètre de configuration existant.

    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)

Supprimer un paramètre de configuration

L’extrait de code suivant supprime un paramètre de configuration par nom de clé (key).


    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)

Exécuter l’application

Dans cet exemple, vous avez créé une application Python qui utilise la bibliothèque de client Azure App Configuration pour récupérer un paramètre de configuration créé sur le Portail Azure, ajouter un nouveau paramètre, récupérer la liste des paramètres existants, et enfin verrouiller et déverrouiller, mettre à jour et supprimer des paramètres.

À ce stade, votre fichier app-configuration-example.py doit contenir le code suivant :

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)

Dans la fenêtre de votre console, accédez au répertoire contenant le fichier app-configuration-example.py et exécutez la commande Python suivante pour exécuter l’application :

python app-configuration-example.py

Vous devez normalement voir la sortie suivante.

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!

Nettoyer les ressources

Si vous ne souhaitez plus utiliser les ressources créées dans cet article, supprimez le groupe de ressources que vous avez créé ici afin d’éviter des frais.

Important

La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé les ressources pour cet article dans un groupe de ressources contenant d’autres ressources que vous souhaitez conserver, supprimez chaque ressource individuellement à partir de son volet, au lieu de supprimer l’intégralité du groupe de ressources.

  1. Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
  2. Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
  3. Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
  4. Sélectionnez Supprimer le groupe de ressources.
  5. Vous êtes invité à confirmer la suppression du groupe de ressources. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.

Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.

Étapes suivantes

Ce guide vous a montré comment utiliser le kit SDK Azure pour Python afin d’accéder à vos données dans Azure App Configuration.

Pour obtenir des exemples de code supplémentaires, visitez :

Pour savoir comment utiliser Azure App Configuration avec des applications Python, cliquez sur le lien suivant :