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.
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 wordt een exemplaar van AzureAppConfigurationClient gemaakt. U kunt verbinding maken met uw App Configuration-archief met behulp van Microsoft Entra ID (aanbevolen) of een verbindingsreeks.
U gebruikt de DefaultAzureCredential
app om u te verifiëren bij uw App Configuration-archief. Volg de instructies om uw referenties toe te wijzen aan de rol App Configuration Data Reader . Zorg ervoor dat u voldoende tijd hebt om de machtiging door te geven voordat u de toepassing uitvoert.
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
endpoint = os.getenv('AZURE_APPCONFIG_ENDPOINT')
app_config_client = AzureAppConfigurationClient(base_url=endpoint, credential=credential)
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.identity import DefaultAzureCredential
from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting
try:
print("Azure App Configuration - Python example")
# Example code goes here
credential = DefaultAzureCredential()
endpoint = os.getenv('AZURE_APPCONFIG_ENDPOINT')
app_config_client = AzureAppConfigurationClient(base_url=endpoint, credential=credential)
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)
Een omgevingsvariabele configureren
Stel de omgevingsvariabele met de naam AZURE_APPCONFIG_ENDPOINT in op het eindpunt van uw App Configuration-archief in het overzicht van uw winkel in Azure Portal.
Als u de Windows-opdrachtprompt gebruikt, voert u de volgende opdracht uit en start u de opdrachtprompt opnieuw om de wijziging door te voeren:
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
Als u PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Nadat de omgevingsvariabele juist is ingesteld, gaat u in het consolevenster naar de map met het app-configuration-example.py-bestand en voert u 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: