Share via


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 os dados na Configuração de Aplicativos do Azure.

Dica

A Configuração de Aplicativos oferece uma biblioteca de provedores do Python criada com base no SDK do Python e foi projetada para ser mais fácil de usar com recursos mais avançados. Ela 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 nome da chave e resolução automática de referências do Key Vault. Acesse o início rápido do Python para saber mais.

Pré-requisitos

Criar um valor de chave

Adicione o valor-chave a seguir ao repositório de Configuração de Aplicativos e deixe os campos Rótulo e Tipo de Conteúdo com seus valores padrão. Para mais informações sobre como adicionar valores-chave a um repositório usando o portal do Azure ou a CLI, acesse Criar um valor-chave.

Chave Valor
TestApp:Settings:Message Dados da Configuração de Aplicativo do Azure

Configurar o aplicativo Python

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

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

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

    pip install azure-appconfiguration
    
  4. Crie um 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)
    

Observação

Os snippets de código deste exemplo ajudarão você a começar a usar a biblioteca de clientes da Configuração de Aplicativos para Python. Você também deverá considerar usar um tratamento de exceções para o aplicativo de acordo com suas necessidades. Para saber mais sobre o tratamento de exceções, confira a documentação do SDK do Python.

Configurar uma cadeia de conexão da Configuração de Aplicativos

  1. Defina uma variável de ambiente chamada AZURE_APPCONFIG_CONNECTION_STRING como a cadeia de conexão para seu repositório da 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 confirmar que ela está definida corretamente usando o comando a seguir.

    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%
    

Exemplos de código

Os snippets de código de exemplo desta seção mostrarão como executar operações comuns com a biblioteca de clientes da Configuração de Aplicativos para Python. Adicione esses snippets de código ao bloco try no arquivo app-configuration-example.py criado anteriormente.

Observação

A biblioteca de clientes da Configuração de Aplicativos se refere a um objeto chave-valor como ConfigurationSetting. Portanto, neste artigo, os pares chave-valor no repositório da Configuração de Aplicativos serão chamadas de Parâmetros de configuração.

Saiba abaixo como:

Conectar um repositório de Configuração de Aplicativos

O snippet de código a seguir criará uma instância do AzureAppConfigurationClient usando a cadeia de conexão armazenada nas variáveis de ambiente.

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

Obter um parâmetro de configuração

O snippet de código a seguir recuperará um parâmetro de configuração por nome 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)

Adicionar um parâmetro de configuração

O snippet de código a seguir criará um objeto ConfigurationSetting com os campos key e value, bem como invocará o método add_configuration_setting. Esse método gerará uma exceção caso tente adicionar um parâmetro de configuração que já exista em seu repositório. Caso queira evitar essa exceção, o método set_configuration_setting poderá ser usado como alternativa.

    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 parâmetros de configuração

O snippet de código a seguir recuperará uma lista de parâmetros de configuração. Os argumentos key_filter e label_filter poderão ser fornecidos para filtrar pares chave-valor com base na key e no label, respectivamente. Para obter mais informações sobre filtragem, confira como consultar parâmetros 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 um parâmetro de configuração

O status do bloqueio de uma chave-valor na Configuração de Aplicativos será indicado pelo atributo read_only do objeto ConfigurationSetting. Caso read_only seja True, a configuração será bloqueada. O método set_read_only poderá ser invocado com o argumento read_only=True para bloquear o parâmetro 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 um parâmetro de configuração

Caso o atributo read_only do ConfigurationSetting seja False, a configuração será desbloqueada. O método set_read_only poderá ser invocado com o argumento read_only=False para desbloquear o parâmetro 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 um parâmetro de configuração

O método set_configuration_setting poderá ser usado para atualizar uma configuração existente ou para criar um configuração. O snippet de código a seguir alterará o valor de um parâmetro 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 um parâmetro de configuração

O snippet de código a seguir excluirá um parâmetro de configuração por nome 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)

Executar o aplicativo

Neste exemplo, você criou um aplicativo Python que usa uma biblioteca de clientes da Configuração de Aplicativos do Azure para recuperar um parâmetro de configuração criado por meio do portal do Azure, além de adicionar um novo parâmetro, recuperar uma lista de parâmetros existentes, bloquear e desbloquear um parâmetro, atualizar um parâmetro e, por fim, excluir um parâmetro.

Nesse momento, o arquivo app-configuration-example.py deverá 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, acesse 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

Você deve 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!

Limpar os recursos

Se não deseja continuar usando os recursos criados neste artigo, exclua o grupo de recursos que você criou aqui para evitar encargos.

Importante

A exclusão de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Não exclua acidentalmente grupo de recursos ou recursos incorretos. Se tiver criado os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que você deseja manter, exclua cada um individualmente do respectivo 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..., digite o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para conferir uma visão geral.
  4. Selecione Excluir grupo de recursos.
  5. Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Insira o nome do grupo de recursos para confirmar e selecione Excluir.

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

Próximas etapas

Este guia mostrou como usar o SDK do Azure para Python para acessar os dados na Configuração de Aplicativos do Azure.

Para obter códigos de exemplo adicionais, visite:

Para saber como usar a Configuração de Aplicativos do Azure com aplicativos Python, acesse: