Creación de una aplicación de Python con el SDK de Azure para Python
En este documento se muestran ejemplos de cómo usar el SDK de Azure para Python para acceder a los datos en Azure App Configuration.
Sugerencia
App Configuration ofrece una biblioteca de proveedores de Python que se basa en el SDK de Python y está diseñada para que sea más fácil de usar con características más enriquecidas. Permite usar las opciones de configuración como diccionario y ofrece otras características, como la configuración compuesta de varias etiquetas, el recorte de nombres de clave y la resolución automática de referencias de Key Vault. Vaya al inicio rápido de Python para más información.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Python 3.8 o posterior: para información sobre cómo configurar Python en Windows, consulte la documentación de Python en Windows
- Un almacén de App Configuration. Crear un almacén.
Creación de un par clave-valor
Agregue el siguiente para clave-valor al almacén de App Configuration y deje Label y Content Type con sus valores predeterminados. Para obtener más información sobre cómo agregar pares clave-valor a un almacén mediante Azure Portal o la CLI, vaya a Creación de un par clave-valor.
Clave | Value |
---|---|
TestApp:Settings:Message | Datos de Azure App Configuration |
Configurar la aplicación de Python
Cree un directorio para el proyecto denominado app-configuration-example.
mkdir app-configuration-example
Cambie al directorio recién creado app-configuration-example.
cd app-configuration-example
Instale la biblioteca cliente de Azure App Configuration mediante el comando
pip install
.pip install azure-appconfiguration
Cree un archivo llamado app-configuration-example.py en el directorio app-configuration-example y agregue el código siguiente:
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
Los fragmentos de código de este ejemplo le ayudarán a empezar a usar la biblioteca cliente de App Configuration para Python. También debe tener en cuenta el control de excepciones en su aplicación según sus necesidades. Para más información sobre el control de excepciones, consulte la documentación del SDK de Python.
Ejemplos de código
En los fragmentos de código de ejemplo de esta sección se muestra cómo realizar operaciones comunes con la biblioteca cliente de App Configuration para Python. Agregue estos fragmentos de código al bloque try
del archivo app-configuration-example.py que creó anteriormente.
Nota
La biblioteca cliente de App Configuration hace referencia a un objeto clave-valor como ConfigurationSetting
. Por lo tanto, en este artículo, los pares clave-valor del almacén de App Configuration se conocen como valores de configuración.
Obtenga información a continuación sobre el procedimiento para:
- Conexión a un almacén de App Configuration
- Obtención de un valor de configuración
- Incorporación de un valor de configuración
- Obtención de una lista de valores de configuración
- Bloqueo de un valor de configuración
- Desbloqueo de un valor de configuración
- Actualización de un valor de configuración
- Eliminación de un valor de configuración
Conexión a un almacén de App Configuration
El fragmento de código siguiente crea una instancia de AzureAppConfigurationClient. Puede conectarse al almacén de App Configuration mediante Microsoft Entra ID (recomendado) o una cadena de conexión.
Use DefaultAzureCredential
para autenticarse en el almacén de App Configuration. Siga las instrucciones para asignar la credencial al rol Lector de datos de App Configuration. Asegúrese de dejar tiempo suficiente para que el permiso se propague antes de ejecutar la aplicación.
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
endpoint = os.getenv('AZURE_APPCONFIG_ENDPOINT')
app_config_client = AzureAppConfigurationClient(base_url=endpoint, credential=credential)
Obtención de un valor de configuración
El siguiente fragmento de código recupera un valor de configuración por nombre de 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)
Incorporación de un valor de configuración
El siguiente fragmento de código crea un objeto ConfigurationSetting
con los campos key
y value
e invoca el método add_configuration_setting
.
Este método producirá una excepción si intenta agregar un valor de configuración que ya existe en el almacén. Para evitar esta excepción, puede utilizar en su lugar el método 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)
Obtención de una lista de valores de configuración
En el fragmento de código siguiente se recupera una lista de valores de configuración. Se pueden proporcionar los argumentos key_filter
y label_filter
para filtrar los pares clave-valor por key
y label
, respectivamente. Para más información sobre el filtrado, consulte cómo realizar consultas de los valores de configuración.
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)
Bloqueo de un valor de configuración
El estado de bloqueo de un par clave-valor en App Configuration está indicado por el atributo read_only
del objeto ConfigurationSetting
. Si read_only
es True
, el valor está bloqueado. Se puede invocar el método set_read_only
con el argumento read_only=True
para bloquear el valor de configuración.
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))
Desbloqueo de un valor de configuración
Si el atributo read_only
de ConfigurationSetting
es False
, el valor está desbloqueado. Se puede invocar el método set_read_only
con el argumento read_only=False
para desbloquear el valor de configuración.
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))
Actualización de un valor de configuración
El método set_configuration_setting
se puede utilizar para actualizar un valor existente o para crear un valor. El siguiente fragmento de código cambia el valor de un valor de configuración existente.
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)
Eliminación de un valor de configuración
El siguiente fragmento de código elimina un valor de configuración por el nombre de 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)
Ejecución de la aplicación
En este ejemplo ha creado una aplicación de Python que usa la biblioteca cliente de Azure App Configuration para recuperar un valor de configuración creado mediante Azure Portal, agregar un nuevo valor, recuperar una lista de los valores existentes, bloquear y desbloquear un valor, actualizar un valor y, por último, eliminar un valor.
Llegados a este punto, el archivo app-configuration-example.py debe tener el código siguiente:
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)
Configuración de una variable de entorno
Establezca la variable de entorno denominada AZURE_APPCONFIG_ENDPOINT en el punto de conexión del almacén de App Configuration que se encuentra en la Información general del almacén en Azure Portal.
Si usa el símbolo del sistema de Windows, ejecute el siguiente comando y reinícielo para que se aplique el cambio:
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
Si usa PowerShell, ejecute el siguiente comando:
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
Si usa macOS o Linux, ejecute el siguiente comando:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Una vez que establezca correctamente la variable de entorno, en la ventana de la consola, vaya al directorio que contiene el archivo app-configuration-example.py y ejecute el siguiente comando de Python para ejecutar la aplicación:
python app-configuration-example.py
Debería ver la salida siguiente:
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!
Limpieza de recursos
Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.
Importante
La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de que no elimina por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.
- Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
- En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
- En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
- Seleccione Eliminar grupo de recursos.
- Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.
Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.
Pasos siguientes
En esta guía se muestra cómo usar el SDK de Azure para Python para acceder a los datos en Azure App Configuration.
Para encontrar otros ejemplos de código, visite:
Para aprender a usar Azure App Configuration con aplicaciones de Python, vaya a: