Создание приложения Python с помощью пакета SDK Azure для Python
В этом документе показаны примеры использования пакета SDK Azure для Python для доступа к данным в Конфигурация приложений Azure.
Совет
Конфигурация приложений предлагает библиотеку поставщиков Python, созданную на основе пакета SDK для Python и предназначенную для упрощения использования с более широкими возможностями. Он позволяет использовать такие параметры конфигурации, как словарь, и предлагает другие функции, такие как композиция конфигурации из нескольких меток, обрезка имен ключей и автоматическое разрешение ссылок Key Vault. Дополнительные сведения см. в кратком руководстве по Python.
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- Python 3.8 или более поздней версии— сведения о настройке Python в Windows см. в документации по Python в Windows.
- Хранилище Конфигурация приложений. Создайте хранилище.
Создание ключа-значение
Добавьте следующее ключевое значение в хранилище Конфигурация приложений и оставьте метку и тип контента со значениями по умолчанию. Дополнительные сведения о добавлении значений ключей в хранилище с помощью портал Azure или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".
Ключ | Значение |
---|---|
TestApp:Settings:Message | Данные из Конфигурация приложений Azure |
Настройка приложения Python
Создайте каталог для проекта с именем app-configuration-example.
mkdir app-configuration-example
Перейдите в только что созданный каталог app-configuration-example .
cd app-configuration-example
Установите клиентскую библиотеку конфигурации приложений Azure с помощью команды
pip install
.pip install azure-appconfiguration
Создайте файл с именем 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.
Настройка строки подключения в конфигурации приложения
Задайте переменную среды с именем AZURE_APPCONFIG_CONNECTION_STRING и задайте для нее строка подключения хранилища Конфигурация приложений. В командной строке выполните следующую команду:
Чтобы запустить приложение локально с помощью командной строки Windows, выполните следующую команду и замените
<app-configuration-store-connection-string>
строка подключения хранилища конфигурации приложения:setx AZURE_APPCONFIG_CONNECTION_STRING "connection-string-of-your-app-configuration-store"
Выведите значение переменной среды, чтобы убедиться, что она задана правильно с помощью приведенной ниже команды.
С помощью командной строки 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_only
ConfigurationSetting
равен 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!
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Внимание
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
В этом руководстве показано, как использовать пакет SDK Azure для Python для доступа к данным в Конфигурация приложений Azure.
Дополнительные примеры кода см. здесь:
Чтобы узнать, как использовать Конфигурация приложений Azure с приложениями Python, перейдите к следующим сведениям: