Creare un'app Python con Azure SDK per Python

Questo documento illustra esempi di come usare Azure SDK per Python per accedere ai dati in app Azure Configuration.

Suggerimento

Configurazione app offre una libreria di provider Python basata su Python SDK ed è progettata per essere più semplice da usare con funzionalità più avanzate. Consente di usare le impostazioni di configurazione come un dizionario e offre altre funzionalità, ad esempio la composizione della configurazione da più etichette, il taglio del nome della chiave e la risoluzione automatica dei riferimenti a Key Vault. Per altre informazioni, vedere la guida introduttiva a Python.

Prerequisiti

Creare un valore chiave

Aggiungere il valore chiave seguente all'archivio Configurazione app e lasciare Etichetta e Tipo di contenuto con i valori predefiniti. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l'interfaccia della riga di comando, vedere Creare un valore chiave.

Chiave valore
TestApp:Impostazioni:Message Dati della configurazione di app Azure

Configurare l'app Python

  1. Creare una nuova directory per il progetto denominato app-configuration-example.

    mkdir app-configuration-example
    
  2. Passare alla directory app-configuration-example appena creata.

    cd app-configuration-example
    
  3. Installare la libreria client di Configurazione app di Azure usando il comando pip install.

    pip install azure-appconfiguration
    
  4. Creare un nuovo file denominato app-configuration-example.py nella directory app-configuration-example e aggiungere il codice seguente:

    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)
    

Nota

I frammenti di codice in questo esempio consentono di iniziare a usare la libreria client Configurazione app per Python. Per l'applicazione, è consigliabile gestire le eccezioni in base alle esigenze. Per altre informazioni sulla gestione delle eccezioni, vedere la documentazione di Python SDK.

Configurare la stringa di connessione di Configurazione app

  1. Impostare una variabile di ambiente denominata AZURE_APPCONFIG_CONNECTION_STRING e impostarla sul stringa di connessione dell'archivio Configurazione app. Eseguire il comando seguente alla riga di comando:

    Per eseguire l'app in locale usando il prompt dei comandi di Windows, eseguire il comando seguente e sostituire <app-configuration-store-connection-string> con il stringa di connessione dell'archivio di configurazione app:

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. Stampare il valore della variabile di ambiente per verificare che sia impostato correttamente con il comando seguente.

    Usando il prompt dei comandi di Windows, riavviare il prompt dei comandi per consentire l'applicazione della modifica ed eseguire il comando seguente:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Esempi di codice

I frammenti di codice di esempio di questa sezione illustrano come eseguire operazioni comuni con la libreria client di Configurazione app per Python. Aggiungere questi frammenti di codice al try blocco nel file app-configuration-example.py creato in precedenza.

Nota

La libreria client di Configurazione app fa riferimento a un oggetto chiave-valore come ConfigurationSetting. Pertanto, in questo articolo, gli oggetti chiave-valore nell'archivio di Configurazione app verranno definiti come impostazioni di configurazione.

Di seguito viene descritto come:

Connettersi a un archivio di Configurazione app

Il frammento di codice seguente crea un'istanza di AzureAppConfigurationClient usando la stringa di connessione archiviata nelle variabili di ambiente.

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

Ottenere un'impostazione di configurazione

Il frammento di codice seguente recupera un'impostazione di configurazione in base al nome 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)

Aggiungere un'impostazione di configurazione

Il frammento di codice seguente crea un oggetto ConfigurationSetting con i campi key e value e richiama il metodo add_configuration_setting. Questo metodo genererà un'eccezione se si prova ad aggiungere un'impostazione di configurazione già esistente nell'archivio. Per evitare questa eccezione, in alternativa è possibile usare il metodo 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)

Ottenere un elenco di impostazioni di configurazione

Il frammento di codice seguente recupera un elenco di impostazioni di configurazione. Gli argomenti key_filter e label_filter possono essere specificati per filtrare rispettivamente gli oggetti chiave-valore basati su key e label. Per altre informazioni sui filtri, vedere come eseguire query sulle impostazioni di configurazione.

    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)

Bloccare un'impostazione di configurazione

Lo stato di blocco di un oggetto chiave-valore in Configurazione app è indicato dall'attributo read_only dell'oggetto ConfigurationSetting. Se read_only è True, l'impostazione è bloccata. È possibile richiamare il metodo set_read_only con l'argomento read_only=True per bloccare l'impostazione di configurazione.

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

Sbloccare un'impostazione di configurazione

Se l'attributo read_only di ConfigurationSetting è False, l'impostazione è sbloccata. È possibile richiamare il metodo set_read_only con l'argomento read_only=False per sbloccare l'impostazione di configurazione.

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

Aggiornare un'impostazione di configurazione

È possibile usare il metodo set_configuration_setting per aggiornare un'impostazione esistente o crearne una nuova. Il frammento di codice seguente cambia il valore di un'impostazione di configurazione esistente.

    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)

Eliminare un'impostazione di configurazione

Il frammento di codice seguente elimina un'impostazione di configurazione in base al nome 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)

Eseguire l'app

In questo esempio è stata creata un'app Python che usa la libreria client di configurazione app Azure per recuperare un'impostazione di configurazione creata tramite il portale di Azure, aggiungere una nuova impostazione, recuperare un elenco di impostazioni esistenti, bloccare e sbloccare un'impostazione, aggiornare un'impostazione ed eliminare infine un'impostazione.

A questo punto, il file app-configuration-example.py deve avere il codice seguente:

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)

Nella finestra della console passare alla directory contenente il file app-configuration-example.py ed eseguire il comando Python seguente per eseguire l'app:

python app-configuration-example.py

Verrà visualizzato l'output seguente:

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!

Pulire le risorse

Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.

Passaggi successivi

Questa guida ha illustrato come usare Azure SDK per Python per accedere ai dati in app Azure Configuration.

Per altri esempi di codice, vedere:

Per informazioni su come usare app Azure Configurazione con le app Python, vedere: