Criar um aplicativo Python com o SDK do Azure para Python

Este documento mostra exemplos de como usar o SDK do Azure para Python para acessar seus dados na Configuração do Aplicativo do Azure.

Gorjeta

A Configuração do Aplicativo oferece uma biblioteca de provedor Python que é construída sobre o SDK do Python e foi projetada para ser mais fácil de usar com recursos mais avançados. Ele permite que as definições de configuração sejam usadas como um dicionário e oferece outros recursos, como composição de configuração de vários rótulos, corte de nomes de chaves e resolução automática de referências do Cofre de Chaves. Vá para o início rápido do Python para saber mais.

Pré-requisitos

Criar um valor-chave

Adicione o seguinte valor-chave à loja de Configuração de Aplicativos e deixe Rótulo e Tipo de Conteúdo com seus valores padrão. Para obter mais informações sobre como adicionar valores-chave a uma loja usando o portal do Azure ou a CLI, vá para Criar um valor-chave.

Key valor
TestApp:Configurações:Mensagem Dados da Configuração do Aplicativo do Azure

Configurar o aplicativo Python

  1. Crie um novo diretório para o projeto chamado app-configuration-example.

    mkdir app-configuration-example
    
  2. Alterne para o diretório app-configuration-example recém-criado.

    cd app-configuration-example
    
  3. Instale a biblioteca de cliente de Configuração de Aplicativo do Azure usando o pip install comando.

    pip install azure-appconfiguration
    
  4. Crie um novo arquivo chamado app-configuration-example.py no diretório app-configuration-example e adicione o seguinte código:

    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

Os trechos de código neste exemplo ajudarão você a começar a usar a biblioteca de cliente de Configuração de Aplicativo para Python. Para o seu pedido, você também deve considerar o tratamento de exceções de acordo com suas necessidades. Para saber mais sobre o tratamento de exceções, consulte nossa documentação do SDK do Python.

Configurar a cadeia de conexão Configuração do Aplicativo

  1. Defina uma variável de ambiente chamada AZURE_APPCONFIG_CONNECTION_STRING e defina-a como a cadeia de conexão da sua loja de configuração de aplicativos. Na linha de comando, execute o seguinte comando:

    Para executar o aplicativo localmente usando o prompt de comando do Windows, execute o seguinte comando e substitua <app-configuration-store-connection-string> pela cadeia de conexão do repositório de configuração do aplicativo:

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. Imprima o valor da variável de ambiente para validar se ela está definida corretamente com o comando abaixo.

    Usando o prompt de comando do Windows, reinicie o prompt de comando para permitir que a alteração entre em vigor e execute o seguinte comando:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Amostras de código

Os trechos de código de exemplo nesta seção mostram como executar operações comuns com a biblioteca de cliente de Configuração de Aplicativo para Python. Adicione esses trechos de código ao try bloco em app-configuration-example.py arquivo criado anteriormente.

Nota

A biblioteca de cliente de Configuração de Aplicativo refere-se a um objeto chave-valor como ConfigurationSetting. Portanto, neste artigo, os valores-chave no App Configuration store serão chamados de definições de configuração.

Saiba abaixo como:

Conectar-se a uma loja de configuração de aplicativos

O trecho de código a seguir cria uma instância de AzureAppConfigurationClient usando a cadeia de conexão armazenada em suas variáveis de ambiente.

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

Obter uma definição de configuração

O trecho de código a seguir recupera uma definição de configuração por key nome.

    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)

Adicionar uma definição de configuração

O trecho de código a seguir cria um ConfigurationSetting objeto com key e campos e value invoca o add_configuration_setting método. Esse método lançará uma exceção se você tentar adicionar uma definição de configuração que já existe em sua loja. Se você quiser evitar essa exceção, o método set_configuration_setting pode ser usado.

    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)

Obter uma lista de definições de configuração

O trecho de código a seguir recupera uma lista de definições de configuração. Os key_filter argumentos e podem ser fornecidos para filtrar valores-chave com base em key e label_filterlabel respectivamente. Para obter mais informações sobre filtragem, consulte como consultar definições de configuração.

    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)

Bloquear uma definição de configuração

O status de bloqueio de um valor-chave na Configuração do Aplicativo é indicado pelo read_only atributo do ConfigurationSetting objeto. Se read_only for True, a configuração está bloqueada. O set_read_only método pode ser invocado com read_only=True argumento para bloquear a definição de configuração.

    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))

Desbloquear uma definição de configuração

Se o read_only atributo de a for False, a ConfigurationSetting configuração será desbloqueada. O set_read_only método pode ser invocado com read_only=False argumento para desbloquear a definição de configuração.

    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))

Atualizar uma definição de configuração

O set_configuration_setting método pode ser usado para atualizar uma configuração existente ou criar uma nova configuração. O trecho de código a seguir altera o valor de uma definição de configuração 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)

Excluir uma definição de configuração

O trecho de código a seguir exclui uma definição de configuração por key nome.


    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)

Executar a aplicação

Neste exemplo, você criou um aplicativo Python que usa a biblioteca de cliente de Configuração de Aplicativo do Azure para recuperar uma definição de configuração criada por meio do portal do Azure, adicionar uma nova configuração, recuperar uma lista de configurações existentes, bloquear e desbloquear uma configuração, atualizar uma configuração e, finalmente, excluir uma configuração.

Neste ponto, seu arquivo app-configuration-example.py deve ter o seguinte código:

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)

Na janela do console, navegue até o diretório que contém o arquivo app-configuration-example.py e execute o seguinte comando Python para executar o aplicativo:

python app-configuration-example.py

Deverá ver o seguinte resultado:

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!

Clean up resources (Limpar recursos)

Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.

Importante

A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
  4. Selecione Eliminar grupo de recursos.
  5. É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.

Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.

Próximos passos

Este guia mostrou como usar o SDK do Azure para Python para acessar seus dados na Configuração do Aplicativo do Azure.

Para obter exemplos de código adicionais, visite:

Para saber como usar a Configuração de Aplicativo do Azure com aplicativos Python, vá para: