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
- Sottoscrizione di Azure: creare un account gratuito
- Python 3.8 o versione successiva: per informazioni sulla configurazione di Python in Windows, vedere la documentazione di Python in Windows
- Un Archivio di configurazione app. Creare un archivio.
Creare un valore chiave
Aggiungere il valore chiave seguente all’archivio di 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, andare a Creare un valore chiave.
Chiave | valore |
---|---|
TestApp:Settings:Message | Dati di Configurazione app di Azure |
Configurare l'app Python
Creare una nuova directory per il progetto denominato app-configuration-example.
mkdir app-configuration-example
Passare alla directory app-configuration-example appena creata.
cd app-configuration-example
Installare la libreria client di Configurazione app di Azure usando il comando
pip install
.pip install azure-appconfiguration
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
Impostare una variabile di ambiente denominata AZURE_APPCONFIG_CONNECTION_STRING sulla stringa di connessione dell'archivio di 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 la stringa di connessione dell'archivio di Configurazione app:setx AZURE_APPCONFIG_CONNECTION_STRING "<connection-string-of-your-app-configuration-store>"
Stampare il valore della variabile di ambiente per verificare che sia impostato correttamente con il comando seguente.
Se si usa il prompt dei comandi di Windows, riavviare il prompt dei comandi per rendere effettiva la 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 Configurazione app
- Ottenere un'impostazione di configurazione
- Aggiungere un'impostazione di configurazione
- Ottenere un elenco di impostazioni di configurazione
- Bloccare un'impostazione di configurazione
- Sbloccare un'impostazione di configurazione
- Aggiornare un'impostazione di configurazione
- Eliminare un'impostazione di configurazione
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.
- Accedere al portale di Azure e selezionare Gruppi di risorse.
- Nella casella Filtra per nome immettere il nome del gruppo di risorse.
- Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
- Selezionare Elimina gruppo di risorse.
- 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: