Inicio rápido: Creación de una aplicación de Python con Azure App Configuration

En este inicio rápido, usará Azure App Configuration para centralizar el almacenamiento y la administración de la configuración de aplicaciones mediante la biblioteca cliente de App Configuration para Python.

Requisitos previos

Creación de un almacén de App Configuration

  1. Para crear un almacén de App Configuration, inicie sesión en Azure Portal. En la esquina superior izquierda de la página principal, seleccione Crear un recurso. En el cuadro Buscar en Marketplace, escriba App Configuration y presione Entrar.

    Buscar App Configuration

  2. Seleccione Configuración de la aplicación en los resultados de la búsqueda y, después, Crear.

    Seleccionar Crear

  3. En el panel Crear de App Configuration, introduzca la siguiente configuración:

    Configuración Valor sugerido Descripción
    Suscripción Su suscripción Seleccione la suscripción de Azure que desee usar para probar App Configuration. Si su cuenta solo tiene una suscripción, se selecciona automáticamente y la lista Suscripción no aparece.
    Grupos de recursos AppConfigTestResources Seleccione o cree un grupo de recursos para el recurso del almacén de App Configuration. Este grupo es útil para organizar los distintos recursos que quiera eliminar al mismo tiempo mediante la eliminación del grupo de recursos. Para más información, consulte Administración de los recursos de Azure a través del Portal.
    Nombre del recurso Nombre único globalmente Escriba un nombre de recurso único para usarlo como recurso de almacén de App Configuration. El nombre debe ser una cadena de entre 5 y 50 caracteres y solo puede contener números, letras y el carácter -. El nombre no puede comenzar ni terminar con el carácter -.
    Ubicación Centro de EE. UU. Use Ubicación para especificar la ubicación geográfica en la que se hospeda el almacén de App Configuration. Para optimizar el rendimiento, cree el recurso en la misma región que los demás componentes de la aplicación.
    Plan de tarifa Gratis Seleccione el plan de tarifa deseado. Para más información, consulte la página de precios de App Configuration.
  4. Seleccione Revisar y crear para validar la configuración.

  5. Seleccione Crear. La implementación puede tardar unos minutos.

  6. Una vez finalizada la implementación, vaya al recurso de App Configuration. Seleccione Configuración > Claves de acceso. Tome nota de la cadena de conexión de la clave de solo lectura principal. Usará esta cadena de conexión más adelante para configurar la aplicación y que se comunique con el almacén de Azure App Configuration que ha creado.

  1. Seleccione Explorador de configuración > Crear > Clave-valor para agregar los siguientes pares clave-valor:

    Clave Value
    TestApp:Settings:Message Datos de Azure App Configuration

    Deje Etiqueta y Tipo de contenido en blanco, por ahora.

  2. Seleccione Aplicar.

Configuración de la aplicación de Python

  1. En este tutorial, creará un directorio para el proyecto denominado app-configuration-quickstart.

    mkdir app-configuration-quickstart
    
  2. Cambie al directorio recién creado app-configuration-quickstart.

    cd app-configuration-quickstart
    
  3. Instale la biblioteca cliente de Azure App Configuration mediante el comando pip install.

    pip install azure-appconfiguration
    
  4. Cree un archivo llamado app-configuration-quickstart.py en el directorio app-configuration-quickstart y agregue el código siguiente:

    import os
    from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting
    
    try:
        print("Azure App Configuration - Python Quickstart")
        # Quickstart code goes here
    except Exception as ex:
        print('Exception:')
        print(ex)
    

Nota

Los fragmentos de código de este inicio rápido 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.

Configuración de la cadena de conexión de App Configuration

  1. Establezca una variable de entorno llamada AZURE_APP_CONFIG_CONNECTION_STRING y defínala como la clave de acceso al almacén de App Configuration. En la línea de comandos, ejecute el siguiente comando:

    setx AZURE_APP_CONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    

    Si usa Windows PowerShell, ejecute el siguiente comando:

    $Env:AZURE_APP_CONFIG_CONNECTION_STRING = "connection-string-of-your-app-configuration-store"
    

    Si usa macOS o Linux, ejecute el siguiente comando:

    export AZURE_APP_CONFIG_CONNECTION_STRING='connection-string-of-your-app-configuration-store'
    
  2. Reinicie el símbolo del sistema para permitir que el cambio surta efecto. Imprima el valor de la variable de entorno para comprobar que se ha establecido correctamente.

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-quickstart.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.

Conexión a un almacén de App Configuration

El siguiente fragmento de código crea una instancia de AzureAppConfigurationClient mediante la cadena de conexión almacenada en las variables de entorno.

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

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 inicio rápido, 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 valores existentes, bloquear y desbloquear un valor, actualizar un valor y, por último, eliminar un valor.

Llegados a este punto, el archivo app-configuration-quickstart.py debe tener el código siguiente:

import os
from azure.appconfiguration import AzureAppConfigurationClient, ConfigurationSetting

try:
    print("Azure App Configuration - Python Quickstart")
    # Quickstart code goes here

    connection_string = os.getenv('AZURE_APP_CONFIG_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)

En la ventana de la consola, vaya al directorio que contiene el archivo app-configuration-quickstart.py y, luego, ejecute el siguiente comando de Python para ejecutar la aplicación:

python app-configuration-quickstart.py

Debería ver la siguiente salida:

Azure App Configuration - Python Quickstart

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 desea seguir usando los recursos creados 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 no eliminar 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.

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
  4. Seleccione Eliminar grupo de recursos.
  5. 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 este inicio rápido, ha creado un almacén de App Configuration y ha aprendido a acceder a los pares clave-valor desde una aplicación de Python.

Para encontrar otros ejemplos de código, visite: