Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются важные обновления компонентов Python, представленные функциями Azure, начиная с Python 3.13. Эти изменения включают управление версиями среды выполнения, улучшения производительности и несколько удаленных функций.
Управление версиями среды выполнения Python
Начиная с Python 3.13 Функции представляют управление версиями среды выполнения, новую функцию согласия, которая позволяет ориентироваться на определенные версии среды выполнения Python функций, используемой приложением.
Без включения управления версиями приложение продолжает работать в версии среды выполнения Python по умолчанию, которая управляется функциями. Необходимо изменить файлrequirements.txt , чтобы вместо этого запросить последнюю выпущенную версию, предварительную версию или закрепить приложение на определенную версию среды выполнения Python.
Чтобы включить управление версиями среды выполнения, добавьте ссылку на пакет среды выполнения Python в файл requirements.txt , где значение, назначенное пакету, определяет используемую версию среды выполнения.
Определенная ссылка, которую вы добавляете в requirements.txt , зависит от модели программирования Python, которая может быть одним из следующих значений:
| Версия модели | Имя пакета |
|---|---|
| версия 2 | azure-functions-runtime |
| версия 1 | azure-functions-runtime-v1 |
Эта таблица указывает поведение управления версиями на основе значения версии этого параметра в файле requirements.txt :
| Версия | Пример | Поведение |
|---|---|---|
| Значение не задано | azure-functions-runtime |
Приложение Python 3.13+ запускается в последней доступной версии среды выполнения Python функций. Этот вариант лучше всего подходит для обновления платформы и функций, так как ваше приложение автоматически получает последние стабильные обновления среды выполнения. |
| Закреплено к определенной версии | azure-functions-runtime==1.2.0 |
Приложение Python 3.13+ остается в закрепленной версии среды выполнения и не получает автоматических обновлений. Вместо этого необходимо вручную обновить закрепленную версию, чтобы воспользоваться преимуществами новых функций, исправлений и улучшений среды выполнения. Закрепление рекомендуется для критически важных рабочих нагрузок в рабочей среде, где важна стабильность и прогнозируемость. Закрепление также позволяет протестировать приложение на предварительно подготовленных версиях среды выполнения во время разработки. |
| Нет ссылки на пакет | n/a | Не задав azure-functions-runtimeприложение Python 3.13+ запускается в стандартной версии среды выполнения Python, которая находится за последней выпущенной версией. Обновления периодически выполняются функциями. Этот параметр обеспечивает стабильность и широкую совместимость. Однако доступ к новейшим функциям и исправлениям задерживается до обновления версии по умолчанию. |
При использовании управления версиями среды выполнения с приложением Python 3.13+ следует учитывать следующие рекомендации.
- Избегайте закрепления всех рабочих приложений для предварительной версии среды выполнения (альфа-, бета-версии или разработки).
- Регулярно просматривайте заметки о выпуске среды выполнения Python , чтобы помнить об изменениях, применяемых к среде выполнения Python приложения, или определить, когда следует обновлять закрепленную версию.
Другие изменения и улучшения, появившиеся в Python 3.13
Python 3.13 содержит несколько улучшений функций, которые повышают производительность и надежность и в противном случае влияют на поведение среды выполнения:
Изоляция зависимостей теперь включена по умолчанию
Теперь приложения могут воспользоваться полной изоляцией зависимостей, что означает, что если ваше приложение включает зависимость, которая также используется рабочей ролью Python, например azure-functions или grpcio, ваше приложение может использовать свою собственную версию, даже если среда выполнения Python использует другую версию внутренне.
Эта изоляция предотвращает конфликты версий и улучшает совместимость с пользовательскими пакетами.
Улучшенная производительность холодного запуска
Python 3.13 обеспечивает измеримое сокращение времени холодного запуска по сравнению с Python 3.11, что приводит к более быстрому запуску приложения.
Более быстрая обработка JSON с Orjson поддержкой
Функции теперь поддерживают автоматическое использование Orjsonвысокопроизводительной библиотеки JSON, написанной в Rust. Если Orjson она включена в зависимости приложения, среда выполнения автоматически использует ее для сериализации и десериализации JSON без необходимости вносить изменения в код.
Использование Orjson может обеспечить как низкую задержку, так и более высокую пропускную способность для рабочих нагрузок JSON-тяжелых рабочих нагрузок, таких как вызовы API HTTP и обработка событий. Чтобы обеспечить обратную совместимость, стандартная json библиотека используется, если Orjson она недоступна.
Упрощенное согласие на потоковую передачу HTTP
- Функция потоковой передачи HTTP теперь доступна без каких-либо изменений в параметрах приложения или других конфигурациях. Хотя вы по-прежнему должны принять участие на уровне функции, вам больше не нужно добавлять
PYTHON_ENABLE_INIT_INDEXINGпараметр для использования функции.
Поддержка функций удалена в Python
Эти функции больше не поддерживаются функциями при использовании Python 3.13 и более поздних версий:
- Расширения рабочей роли. Пользовательские расширения рабочих ролей несовместимы с средой выполнения Python 3.13+. Если приложение использует эти расширения, необходимо повторно оценить или перенести их на использование поддерживаемых альтернативных вариантов.
- Общая память: функция общей памяти, используемая для оптимизации полезных данных, недоступна начиная с Python 3.13. По умолчанию все коммуникации теперь используют обмен сообщениями на основе gRPC.
Связанная статья
- Azure Functions Python Developer Guide (Справочник по Функциям Azure для разработчика Python)