Een Python-app maken met de Azure SDK voor Python
In dit document ziet u voorbeelden van het gebruik van de Azure SDK voor Python voor toegang tot uw gegevens in Azure-app-configuratie.
Tip
App Configuration biedt een Python-providerbibliotheek die is gebouwd boven op de Python SDK en is ontworpen om gemakkelijker te gebruiken met uitgebreidere functies. Hiermee kunnen configuratie-instellingen worden gebruikt als een woordenlijst en worden andere functies zoals configuratiesamenstelling van meerdere labels, sleutelnaam bijsnijden en automatische resolutie van Key Vault-verwijzingen geboden. Ga naar de Python-quickstart voor meer informatie.
Vereisten
- Azure-abonnement: u kunt een gratis abonnement nemen
- Python 3.8 of hoger: zie de Documentatie voor Python in Windows voor meer informatie over het instellen van Python in Windows
- Een App Configuration-archief. Een winkel maken.
Een sleutelwaarde maken
Voeg de volgende sleutelwaarde toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.
Sleutel | Weergegeven als |
---|---|
TestApp:Settings:Message | Gegevens uit Azure-app-configuratie |
De Python-app instellen
Maak een nieuwe map voor het project met de naam app-configuration-example.
mkdir app-configuration-example
Schakel over naar de zojuist gemaakte map met app-configuratie .
cd app-configuration-example
Installeer de Azure App Configuration-clientbibliotheek met behulp van de opdracht
pip install
.pip install azure-appconfiguration
Maak een nieuw bestand met de naam app-configuration-example.py in de map met app-configuratievoorbeelden en voeg de volgende code toe:
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)
Notitie
De codefragmenten in dit voorbeeld helpen u aan de slag te gaan met de App Configuration-clientbibliotheek voor Python. Voor uw toepassing moet u ook rekening houden met het afhandelen van uitzonderingen op basis van uw behoeften. Raadpleeg de Python SDK documentation voor meer informatie over het afhandelen van uitzonderingen.
Uw App Configuration-verbindingsreeks configureren
Stel een omgevingsvariabele in met de naam AZURE_APPCONFIG_CONNECTION_STRING en stel deze in op de verbindingsreeks van uw App Configuration-archief. Voer op de opdrachtregel de volgende opdracht uit:
Als u de app lokaal wilt uitvoeren met behulp van de Windows-opdrachtprompt, voert u de volgende opdracht uit en vervangt u
<app-configuration-store-connection-string>
de verbindingsreeks van uw app-configuratiearchief:setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
Druk de waarde van de omgevingsvariabele af om te controleren of deze juist is ingesteld met de onderstaande opdracht.
Start met behulp van de Windows-opdrachtprompt de opdrachtprompt opnieuw om de wijziging van kracht te laten worden en voer de volgende opdracht uit:
echo %AZURE_APPCONFIG_CONNECTION_STRING%
Codevoorbeelden
De voorbeeldcodefragmenten in deze sectie laten zien hoe u veelgebruikte bewerkingen kunt uitvoeren met de App Configuration-clientbibliotheek voor Python. Voeg deze codefragmenten toe aan het try
blok in app-configuration-example.py bestand dat u eerder hebt gemaakt.
Notitie
De App Configuration-clientbibliotheek verwijst naar een sleutel-waardeobject als ConfigurationSetting
. Daarom worden in dit artikel de sleutel-waarden in het App Configuration-archief configuratie-instellingen genoemd.
Hieronder vindt u meer informatie over het volgende:
- Verbinding maken met een App Configuration-archief
- Een configuratie-instelling ophalen
- Een configuratie-instelling toevoegen
- Een lijst met configuratie-instellingen ophalen
- Een configuratie-instelling vergrendelen
- Een configuratie-instelling ontgrendelen
- Een configuratie-instelling bijwerken
- Een configuratie-instelling verwijderen
Verbinding maken met een App Configuration-archief
Met het volgende codefragment maakt u een instantie van AzureAppConfigurationClient met behulp van de in uw omgevingsvariabelen opgeslagen verbindingsreeks.
connection_string = os.getenv('AZURE_APPCONFIG_CONNECTION_STRING')
app_config_client = AzureAppConfigurationClient.from_connection_string(connection_string)
Een configuratie-instelling ophalen
Met het volgende codefragment wordt een configuratie-instelling opgehaald met de key
-naam.
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)
Een configuratie-instelling toevoegen
Met het volgende codefragment maakt u een ConfigurationSetting
-object met de velden key
en value
en roept u de methode add_configuration_setting
aan.
Deze methode genereert een uitzondering als u probeert een configuratie-instelling toe te voegen die al in uw archief voorkomt. Als u deze uitzondering wilt voorkomen, kunt u in plaats daarvan de methode set_configuration_setting gebruiken.
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)
Een lijst met configuratie-instellingen ophalen
Met het volgende codefragment wordt een lijst met configuratie-instellingen opgehaald. De argumenten key_filter
en label_filter
kunnen worden opgegeven om sleutel-waarden te filteren op basis van key
respectievelijk label
. Zie configuratie-instellingen opvragen voor meer informatie over filteren.
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)
Een configuratie-instelling vergrendelen
De vergrendelingsstatus van een sleutel-waarde in App Configuration wordt aangeduid met het kenmerk read_only
van het object ConfigurationSetting
. Als read_only
True
is, is de instelling vergrendeld. De methode set_read_only
kan worden aangeroepen met het argument read_only=True
om de configuratie-instelling te vergrendelen.
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))
Een configuratie-instelling ontgrendelen
Als het read_only
-kenmerk van een ConfigurationSetting
de waarde False
heeft, is de instelling ontgrendeld. De methode set_read_only
kan worden aangeroepen met het argument read_only=False
om de configuratie-instelling te ontgrendelen.
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))
Een configuratie-instelling bijwerken
De methode set_configuration_setting
kan worden gebruikt om een bestaande instelling bij te werken of een nieuwe instelling te maken. Met het volgende codefragment wordt de waarde van een bestaande configuratie-instelling gewijzigd.
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)
Een configuratie-instelling verwijderen
Met het volgende codefragment wordt een configuratie-instelling met de key
-naam.
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)
De app uitvoeren
In dit voorbeeld hebt u een Python-app gemaakt die gebruikmaakt van de Azure-app Configuration-clientbibliotheek om een configuratie-instelling op te halen die is gemaakt via Azure Portal, een nieuwe instelling toe te voegen, een lijst met bestaande instellingen op te halen, een instelling te vergrendelen en ontgrendelen, een instelling bij te werken en ten slotte een instelling te verwijderen.
Op dit moment moet uw app-configuration-example.py bestand de volgende code hebben:
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)
Navigeer in het consolevenster naar de map met het app-configuration-example.py-bestand en voer de volgende Python-opdracht uit om de app uit te voeren:
python app-configuration-example.py
U moet de volgende uitvoer zien:
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!
Resources opschonen
Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.
- Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
- Voer de naam van de resourcegroep in het vak Filteren op naam in.
- Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
- Selecteer Resourcegroep verwijderen.
- U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.
Volgende stappen
In deze handleiding hebt u gezien hoe u de Azure SDK voor Python gebruikt voor toegang tot uw gegevens in Azure-app Configuration.
Ga voor meer codevoorbeelden naar:
Voor meer informatie over het gebruik van Azure-app-configuratie met Python-apps, gaat u naar: