Создание приложения Python с помощью пакета SDK Azure для Python

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

Совет

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

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

Создание ключа-значение

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

Ключ Значение
TestApp:Параметры:Message Данные из Конфигурация приложений Azure

Настройка приложения Python

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

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

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

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

    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)
    

Примечание.

Фрагменты кода в этом примере помогут приступить к работе с клиентской библиотекой Конфигурация приложений для Python. Для приложения также рекомендуется предусмотреть обработку исключений в соответствии с вашими потребностями. Дополнительные сведения об обработке исключений см. в документации по пакету SDK Python.

Настройка строки подключения в конфигурации приложения

  1. Задайте переменную среды с именем AZURE_APPCONFIG_CONNECTION_STRING и задайте для нее строка подключения хранилища Конфигурация приложений. В командной строке выполните следующую команду:

    Чтобы запустить приложение локально с помощью командной строки Windows, выполните следующую команду и замените <app-configuration-store-connection-string> строка подключения хранилища конфигурации приложения:

    setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
    
  2. Выведите значение переменной среды, чтобы убедиться, что она задана правильно с помощью приведенной ниже команды.

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

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Примеры кода

В примерах фрагментов кода в этом разделе показано, как выполнять общие операции с клиентской библиотекой конфигурации приложений для Python. Добавьте эти фрагменты try кода в блок в app-configuration-example.py файле, созданном ранее.

Примечание.

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

Узнайте ниже, как:

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

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

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

Получить параметр конфигурации

Следующий фрагмент кода извлекает параметр конфигурации по имени 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)

Добавить параметр конфигурации

В следующем фрагменте кода создается объект ConfigurationSetting с полями key и value и вызывается метод add_configuration_setting. Этот метод вызовет исключение при попытке добавить параметр конфигурации, который уже существует в хранилище. Если вы хотите избежать этого исключения, вместо этого можно использовать метод 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)

Получение списка параметров конфигурации

Следующий фрагмент кода извлекает список параметров конфигурации. Аргументы key_filter и label_filter могут быть предоставлены для фильтрации пар "ключ-значение" на основе key и label, соответственно. Дополнительные сведения о фильтрации см. в разделе Параметры конфигурации запросов.

    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)

Заблокировать параметр конфигурации

Состояние блокировки пары "ключ-значение" в конфигурации приложения обозначается атрибутом read_only объекта ConfigurationSetting. Если read_only равен True, параметр блокируется. Метод set_read_only можно вызвать с аргументом read_only=True, чтобы заблокировать параметр конфигурации.

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

Разблокировать параметр конфигурации

Если атрибут read_onlyConfigurationSetting равен False, этот параметр разблокируется. Метод set_read_only можно вызвать с аргументом read_only=False, чтобы разблокировать параметр конфигурации.

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

Обновить параметр конфигурации

Метод set_configuration_setting можно использовать для обновления существующего параметра или создания нового параметра. Следующий фрагмент кода изменяет значение существующего параметра конфигурации.

    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)

Удалить параметр конфигурации

Следующий фрагмент кода удаляет параметр конфигурации по имени 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)

Выполнить приложение

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

На этом этапе файл app-configuration-example.py должен иметь следующий код:

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)

В окне консоли перейдите в каталог, содержащий файл app-configuration-example.py , и выполните следующую команду Python для запуска приложения:

python app-configuration-example.py

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

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!

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

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

Важно!

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

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

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

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

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

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

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