Использование библиотек Azure (SDK) для Python
Библиотеки Azure с открытым кодом для Python упрощают подготовку, управление и использование ресурсов Azure из кода приложения Python.
Подробности, которые вы действительно хотите знать
Библиотеки Azure позволяют взаимодействовать со службами Azure , используя код на языке Python, который можно запускать как локально, так и в облаке. (Можно ли запускать код Python в пределах определенной службы, зависит от того, поддерживает ли эта служба в настоящее время Python.)
Библиотеки поддерживают Python 3.8 или более поздней версии. Дополнительные сведения о поддерживаемых версиях Python см. в политике поддержки версий Python для SDK Azure . Если вы используете PyPy, убедитесь, что используемая версия по крайней мере поддерживает версию Python, упоминаемую ранее.
Пакет SDK Azure для Python состоит только из более чем 180 отдельных библиотек Python, относящихся к определенным службам Azure. В пакете SDK нет других средств.
При локальном запуске кода проверка подлинности с помощью Azure зависит от переменных среды, как описано в статье Проверка подлинности приложений Python в службах Azure с помощью пакета SDK Azure для Python.
Чтобы установить пакеты библиотек с помощью pip, используйте
pip install <library_name>
с именами библиотек из пакета индекса. Чтобы установить пакеты библиотек в средах conda, используйтеconda install <package_name>
с помощью имен из канала Microsoft на anaconda.org. Дополнительные сведения см. в статье Установка пакетов библиотек Azure.Существуют различные управления и библиотеки клиента (иногда называются библиотеками плоскости управления и плоскости данных). Каждый набор служит различным целям и используется различными видами кода. Дополнительные сведения см. в следующих разделах ниже в этой статье:
Документация по библиотекам находится в справочнике по Azure для Python, которая организована службой Azure или браузером API Python , которая организована по имени пакета.
Чтобы попробовать библиотеки для себя, мы сначала рекомендуем настроить локальную среду разработки. Затем можно попробовать любой из следующих автономных примеров (в любом порядке): пример. Создание группы ресурсов, пример. Создание и использованиеслужбы хранилища Azure, пример. Создание и развертывание веб-приложения, пример . Создание и запрос базы данных MySQLи пример . Созданиевиртуальной машины.
Демонстрационные видеоролики см. в статье Знакомство с пакетом SDK Azure для Python (PyCon 2021) и использование пакетов SDK Azure для взаимодействия с ресурсами Azure (PyCon 2020).
Необязательные, но всё же интересные детали
Так как Azure CLI написана на Python с использованием библиотек управления, все, что можно сделать с помощью команд Azure CLI, можно также выполнить из скрипта Python. Тем не более того, команды CLI предоставляют множество полезных функций, таких как выполнение нескольких задач вместе, автоматическая обработка асинхронных операций, форматирование выходных данных, таких как строки подключения и т. д. Таким образом, использование интерфейса командной строки (или его эквивалента Azure PowerShell) для автоматического создания и управления скриптами может быть удобнее, чем написание эквивалентного кода Python, если вы не хотите иметь гораздо более точный уровень контроля над процессом.
Библиотеки Azure для Python основаны на базовой REST API Azure, что позволяет использовать эти API через знакомые парадигмы Python. Однако при необходимости вы всегда можете использовать REST API непосредственно из кода Python.
Исходный код библиотек Azure можно найти в https://github.com/Azure/azure-sdk-for-python. Как проект с открытым исходным кодом, вклады приветствуются!
Хотя библиотеки можно использовать с интерпретаторами, такими как IronPython и Jython, которые мы не тестируем, вы можете столкнуться с изолированными проблемами и несовместимостями.
Исходный репозиторий для справочной документации по API библиотеки находится на https://github.com/MicrosoftDocs/azure-docs-sdk-python/.
Начиная с 2019 года мы обновили библиотеки Python Azure для совместного использования общих облачных шаблонов, таких как протоколы проверки подлинности, ведение журнала, трассировка, транспортные протоколы, буферные ответы и повторные попытки. Обновленные библиотеки соответствуют текущим рекомендациям по пакету SDK Azure.
Начиная с 31 марта 2023 года мы прекратили поддержку библиотек Azure SDK, которые не соответствуют текущим руководствам Azure SDK. Хотя старые библиотеки по-прежнему могут использоваться после 31 марта 2023 года, они больше не будут получать официальную поддержку и обновления от Microsoft. Дополнительные сведения см. в уведомлении Обновите библиотеки пакета SDK Azure.
Чтобы избежать отсутствия обновлений безопасности и производительности пакетов SDK Azure, обновите последние библиотеки пакета SDK Azure к 31 марта 2023 года.
Чтобы узнать, какие библиотеки Python затронуты, см. Устаревшие версии пакета SDK Azure для Python.
Информацию о принципах, применяемых к библиотекам, см. в Руководстве Python: Введение.
Создание ресурсов Azure и управление ими с помощью библиотек управления
Библиотеки управления SDK (или на плоскости управления), названия которых начинаются с azure-mgmt-
, помогают создавать, настраивать и управлять ресурсами Azure в Python-скриптах. Все службы Azure имеют соответствующие библиотеки управления. Дополнительные сведения см. в разделе об управляющей плоскости Azure и плоскости данных.
С помощью библиотек управления можно написать скрипты конфигурации и развертывания, чтобы выполнять те же задачи, которые можно выполнять с помощью портала Azure или Azure CLI. (Как отмечалось ранее, Azure CLI написан на Python и использует библиотеки управления для реализации различных команд.)
В следующих примерах показано, как использовать некоторые основные библиотеки управления:
- Создание группы ресурсов
- список групп ресурсов в подписке
- Создать учетную запись хранения Azure и контейнер хранилища блобов
- Создание и развертывание веб-приложения в службе приложений
- Создание и запрос базы данных Azure MySQL
- Создание виртуальной машины
Дополнительные сведения о работе с каждой библиотекой управления см. в файле README.md или README.rst, расположенном в папке проекта библиотеки в репозитории GitHub пакета SDK . Дополнительные фрагменты кода также можно найти в справочной документации и примерах Azure.
Миграция из старых библиотек управления
Если вы переносите код из более старых версий библиотек управления, ознакомьтесь со следующими сведениями:
- Если вы используете класс
ServicePrincipalCredentials
, см. аутентифицируйтесь с помощью учетных данных токена. - Имена асинхронных API изменились, как описано в шаблонах использования библиотеки — асинхронные операции. Имена асинхронных API в новых библиотеках начинаются с
begin_
. В большинстве случаев подпись API остается той же.
Подключение и использование ресурсов Azure с клиентскими библиотеками
Библиотеки клиента пакета SDK (или «плоскости данных») помогают писать код приложения на Python для взаимодействия с уже подготовленными службами. Клиентские библиотеки существуют только для тех служб, которые поддерживают клиентский API.
В статье приведен пример использования службы хранилища Azure, который предоставляет базовую иллюстрацию применения клиентской библиотеки.
Различные службы Azure также предоставляют примеры использования этих библиотек. См. следующие страницы индекса для других ссылок:
- размещение приложений
- Когнитивные службы
- решения для обработки данных
- Идентификация и безопасность
- машинное обучение
- Обмена сообщениями и IoT
- другие услуги
Дополнительные сведения о работе с каждой клиентской библиотекой см. в файле README.md или README.rst, расположенном в папке проекта библиотеки в репозитории GitHub пакета SDK . Дополнительные фрагменты кода также можно найти в справочной документации и примерах Azure.
Получите помощь и свяжитесь с командой SDK
- Ознакомьтесь с библиотеками Azure для документации по Python
- Отправка вопросов сообществу на Stack Overflow
- Открытые задачи против SDK на GitHub
- Упомяните @AzureSDK на Twitter
- Пройдите краткий опрос о пакете SDK Azure для Python
Следующий шаг
Настоятельно рекомендуется выполнить однократную настройку локальной среды разработки, чтобы можно было легко использовать любую из библиотек Azure для Python.