Функции Azure предоставляют мощную модель программирования для ускоренной разработки и бессерверного хостинга event-driven приложений. С тех пор, как мы объявили об общедоступности среды выполнения Azure Functions 2.0, поддержка Python стала одним из главных запросов со стороны разработчиков. Недавно мы объявили о публичном превью поддержки Python в Azure Functions. Подробнее под катом!
В этом выпуске вы теперь можете разрабатывать свои функции с использованием Python 3.6 на основе среды исполнения функций с открытым исходным кодом 2.0 и публиковать их в план потребления (модель с оплатой за выполнение) в Azure. Python отлично подходит для обработки данных, машинного обучения, сценариев и сценариев автоматизации. Создание этих решений с использованием бессерверных функций Azure может снять нагрузку на управление базовой инфраструктурой, поэтому вы можете быстрее работать и сосредоточиться на дифференцированной бизнес-логике своих приложений.
Модель программирования предназначена для обеспечения беспроблемного и привычного взаимодействия с разработчиками Python, поэтому вы можете импортировать существующие сценарии и модули .py и быстро приступить к написанию функций с использованием конструкций кода, с которыми вы уже знакомы. Например, вы можете реализовывать свои функции в виде асинхронных сопрограмм, используя квалификатор async def, или отправлять трассировки мониторинга на хост, используя стандартный модуль ведения логов. Дополнительные зависимости для pip могут быть настроены с использованием формата requirements.txt.
С помощью событийно-управляемой модели программирования в Functions, основанной на триггерах и биндингах, вы можете легко настроить событие, которое будет запускать выполнение функции и любые источники данных, с которыми ваша функция должна оркестрироваться. Распространенные сценарии, такие как логический вывод ML и автоматизация сценариев рабочих нагрузок, выигрывают от этой модели, поскольку она помогает оптимизировать разнообразные источники данных, уменьшая при этом объем кода, SDK и зависимостей, которые разработчик должен настраивать и в тоже время работать. Превью поддерживает биндинг к HTTP requests, timer events, Azure Storage, Cosmos DB, Service Bus, Event Hubs, и Event Grid.
Как разработчику Python, вам не нужно изучать какие-либо новые инструменты для разработки функций. Фактически вы можете быстро создавать, отлаживать и тестировать их локально, используя компьютер Mac, Linux или Windows. Базовые инструменты функций Azure (CLI) позволят вам начать использовать шаблоны триггеров и публиковать их непосредственно в Azure, автоматически обрабатывая при этом сборку и настройку.
Еще более захватывающим является то, что вы можете использовать расширение Azure Functions для Visual Studio Code для тесно интегрированного GUI, который поможет вам создать новое приложение, добавить функции и развернуть все за считанные минуты. Отладка одним щелчком позволит вам локально протестировать свои функции на предмет событий Azure в реальном времени, установить брейкпоинты и оценить call стек, просто нажав F5. Добавьте к этому расширение Python для VS Code, и вы получите лучший в своем классе способ автозаполнения и отладки для разработки на Python на любой платформе.
Функции, написанные на Python, можно публиковать в Azure в двух разных режимах: в плане потребления и в плане службы приложений. План потребления автоматически распределяет вычислительную мощность в зависимости от количества входящих событий. Ваше приложение будет масштабироваться при необходимости для обработки нагрузки и уменьшаться, когда события становятся редкими. Тарификация основана на количестве выполнений, времени выполнения и используемой памяти, поэтому вам не нужно заранее платить за незанятые виртуальные машины или зарезервированную емкость.
В плане службы приложений вы можете воспользоваться такими функциями, как долговременные функции, оборудование премиум-класса, изолированные SKU, а также возможность подключения к VNET/VPN, сохраняя при этом уникальную модель программирования функций.
Оба плана хостинга запускают функции в докер-контейнере на основе базового образа azure-function/python с открытым исходным кодом. Платформа абстрагирует контейнер, поэтому вы несете ответственность только за предоставление файлов Python и не должны беспокоиться об управлении базовыми функциями Azure и средой выполнения Python.
Чтобы начать, перейдите по ссылкам ниже:
Подготовить эту статью нам помогли ребята из Microsoft Developer Community @msdevru, канала сообщества Microsoft Developer для разработчиков и всех, кто интересуется новыми технологиям.
Что в этом выпуске?
В этом выпуске вы теперь можете разрабатывать свои функции с использованием Python 3.6 на основе среды исполнения функций с открытым исходным кодом 2.0 и публиковать их в план потребления (модель с оплатой за выполнение) в Azure. Python отлично подходит для обработки данных, машинного обучения, сценариев и сценариев автоматизации. Создание этих решений с использованием бессерверных функций Azure может снять нагрузку на управление базовой инфраструктурой, поэтому вы можете быстрее работать и сосредоточиться на дифференцированной бизнес-логике своих приложений.
Мощная модель программирования
Модель программирования предназначена для обеспечения беспроблемного и привычного взаимодействия с разработчиками Python, поэтому вы можете импортировать существующие сценарии и модули .py и быстро приступить к написанию функций с использованием конструкций кода, с которыми вы уже знакомы. Например, вы можете реализовывать свои функции в виде асинхронных сопрограмм, используя квалификатор async def, или отправлять трассировки мониторинга на хост, используя стандартный модуль ведения логов. Дополнительные зависимости для pip могут быть настроены с использованием формата requirements.txt.
С помощью событийно-управляемой модели программирования в Functions, основанной на триггерах и биндингах, вы можете легко настроить событие, которое будет запускать выполнение функции и любые источники данных, с которыми ваша функция должна оркестрироваться. Распространенные сценарии, такие как логический вывод ML и автоматизация сценариев рабочих нагрузок, выигрывают от этой модели, поскольку она помогает оптимизировать разнообразные источники данных, уменьшая при этом объем кода, SDK и зависимостей, которые разработчик должен настраивать и в тоже время работать. Превью поддерживает биндинг к HTTP requests, timer events, Azure Storage, Cosmos DB, Service Bus, Event Hubs, и Event Grid.
Более легкая разработка
Как разработчику Python, вам не нужно изучать какие-либо новые инструменты для разработки функций. Фактически вы можете быстро создавать, отлаживать и тестировать их локально, используя компьютер Mac, Linux или Windows. Базовые инструменты функций Azure (CLI) позволят вам начать использовать шаблоны триггеров и публиковать их непосредственно в Azure, автоматически обрабатывая при этом сборку и настройку.
Еще более захватывающим является то, что вы можете использовать расширение Azure Functions для Visual Studio Code для тесно интегрированного GUI, который поможет вам создать новое приложение, добавить функции и развернуть все за считанные минуты. Отладка одним щелчком позволит вам локально протестировать свои функции на предмет событий Azure в реальном времени, установить брейкпоинты и оценить call стек, просто нажав F5. Добавьте к этому расширение Python для VS Code, и вы получите лучший в своем классе способ автозаполнения и отладки для разработки на Python на любой платформе.
Хостинг на базе Linux
Функции, написанные на Python, можно публиковать в Azure в двух разных режимах: в плане потребления и в плане службы приложений. План потребления автоматически распределяет вычислительную мощность в зависимости от количества входящих событий. Ваше приложение будет масштабироваться при необходимости для обработки нагрузки и уменьшаться, когда события становятся редкими. Тарификация основана на количестве выполнений, времени выполнения и используемой памяти, поэтому вам не нужно заранее платить за незанятые виртуальные машины или зарезервированную емкость.
В плане службы приложений вы можете воспользоваться такими функциями, как долговременные функции, оборудование премиум-класса, изолированные SKU, а также возможность подключения к VNET/VPN, сохраняя при этом уникальную модель программирования функций.
Оба плана хостинга запускают функции в докер-контейнере на основе базового образа azure-function/python с открытым исходным кодом. Платформа абстрагирует контейнер, поэтому вы несете ответственность только за предоставление файлов Python и не должны беспокоиться об управлении базовыми функциями Azure и средой выполнения Python.
Следующая стадия: пробуйте
Чтобы начать, перейдите по ссылкам ниже:
- Создайте свою первую бессерверную функцию, используя гайд Python в Functions
- Найдите полный справочник по разработке Azure Functions на Python
- Следите за новыми возможностями и обсуждением в нашем репозитории GitHub
- Узнайте обо всех вещах, которые вы можете сделать с Python в Azure
- Вебинар по разработке на Python с Azure
Подготовить эту статью нам помогли ребята из Microsoft Developer Community @msdevru, канала сообщества Microsoft Developer для разработчиков и всех, кто интересуется новыми технологиям.