Поделиться через


Краткое руководство. Создание приложения Python с помощью Конфигурация приложений Azure

В этом кратком руководстве вы будете использовать поставщик Python для Конфигурация приложений Azure для централизованного хранения и управления параметрами приложения с помощью клиентской библиотеки поставщика Python Конфигурация приложений Azure.

Поставщик Конфигурация приложений Python — это библиотека, запущенная поверх пакета SDK Azure для Python, помогающая разработчикам Python легко использовать службу Конфигурация приложений. Он позволяет использовать параметры конфигурации, такие как словарь.

Необходимые компоненты

Добавление ключевых значений

Добавьте следующие ключевые значения в хранилище Конфигурация приложений. Дополнительные сведения о добавлении значений ключей в хранилище с помощью портал Azure или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".

Ключ значение Метка Content type
message Привет Оставьте пустым Оставьте пустым
test.message Тест Hello Оставьте пустым Оставьте пустым
my_json {"key":"value"} Оставьте пустым application/json

Консольные приложения

В этом разделе описано, как создать консольное приложение и загрузить данные из хранилища Конфигурация приложений.

Подключение к Конфигурация приложений

  1. Создайте каталог для проекта с именем app-configuration-quickstart.

    mkdir app-configuration-quickstart
    
  2. Перейдите в созданный каталог app-configuration-quickstart.

    cd app-configuration-quickstart
    
  3. Установите поставщик Конфигурация приложений Azure с помощью pip install команды.

    pip install azure-appconfiguration-provider
    
  4. Создайте новый файл с именем app-configuration-quickstart.py в каталоге app-configuration-quickstart и добавьте следующий код:

    Вы используете DefaultAzureCredential для проверки подлинности в хранилище Конфигурация приложений. Следуйте инструкциям, чтобы назначить учетные данные роли чтения данных Конфигурация приложений. Перед запуском приложения обязательно предоставьте достаточно времени для распространения разрешения.

    from azure.appconfiguration.provider import (
        load,
        SettingSelector
    )
    from azure.identity import DefaultAzureCredential
    import os
    
    endpoint = os.environ.get("AZURE_APPCONFIG_ENDPOINT")
    
    # Connect to Azure App Configuration using a connection string.
    config = load(endpoint=endpoint, credential=credential)
    credential = DefaultAzureCredential()
    
    # Find the key "message" and print its value.
    print(config["message"])
    # Find the key "my_json" and print the value for "key" from the dictionary.
    print(config["my_json"]["key"])
    
    # Connect to Azure App Configuration using a connection string and trimmed key prefixes.
    trimmed = {"test."}
    config = load(endpoint=endpoint, credential=credential, trim_prefixes=trimmed)
    # From the keys with trimmed prefixes, find a key with "message" and print its value.
    print(config["message"])
    
    # Connect to Azure App Configuration using SettingSelector.
    selects = {SettingSelector(key_filter="message*", label_filter="\0")}
    config = load(endpoint=endpoint, credential=credential, selects=selects)
    
    # Print True or False to indicate if "message" is found in Azure App Configuration.
    print("message found: " + str("message" in config))
    print("test.message found: " + str("test.message" in config))
    

Выполнение приложения

  1. Задайте переменную среды.

    Задайте переменную среды с именем AZURE_APPCONFIG_ENDPOINT конечной точке хранилища Конфигурация приложений, найденной в разделе "Обзор хранилища" в портал Azure.

    Если вы используете командную строку Windows, выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:

    setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
    

    Если вы используете PowerShell, выполните следующую команду:

    $Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
    

    Если вы используете macOS или Linux, выполните следующую команду:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. После правильного задания переменной среды выполните следующую команду, чтобы запустить приложение локально:

    python app-configuration-quickstart.py
    

    Должен появиться следующий результат:

    Hello
    value
    Hello test
    message found: True
    test.message found: False
    

Веб-приложения

Поставщик Конфигурация приложений загружает данные в Mapping объект, доступный как словарь, который можно использовать в сочетании с существующей конфигурацией различных платформ Python. В этом разделе показано, как использовать поставщик Конфигурация приложений в популярных веб-платформах, таких как Flask и Django.

Вы можете использовать Конфигурация приложений Azure в существующих веб-приложениях Flask, обновив встроенную конфигурацию. Это можно сделать, передав объект update поставщика Конфигурация приложений в функцию экземпляра приложения Flask вapp.py:

azure_app_config = load(endpoint=os.environ.get("AZURE_APPCONFIG_ENDPOINT"), credential=credential)

# NOTE: This will override all existing configuration settings with the same key name.
app.config.update(azure_app_config)

# Access a configuration setting directly from within Flask configuration
message = app.config.get("message")

Полные примеры кода по использованию Конфигурация приложений Azure в веб-приложениях Python можно найти в репозитории Конфигурация приложений Azure GitHub.

Очистка ресурсов

Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.

Внимание

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.

  1. Войдите на портал Azure и выберитеГруппы ресурсов.
  2. Введите имя группы ресурсов в поле Фильтровать по имени.
  3. В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
  4. Выберите команду Удалить группу ресурсов.
  5. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Следующие шаги

Выполнив инструкции из этого краткого руководства, вы создали новое хранилище конфигурации приложений и узнали, как получить доступ к парам "ключ-значение" из приложения Python.

Дополнительные примеры кода см. здесь: