#azure #azure-functions
#azure #azure-функции
Вопрос:
Какова наилучшая практика использования версии среды выполнения, учитывая, что среда выполнения внесла критические изменения, а использование определенной версии вызовет проблему, учитывая, что среда выполнения будет регулярно удаляться. https://github.com/Azure/app-service-announcements-discussions/issues/90
Пожалуйста, позвольте мне объяснить ниже:
Сценарий 1:
Когда используется ниже,
FUNCTIONS_EXTENSION_VERSION =~ 2
Наш код не работал с последней версией среды выполнения. Потому что ~ 2 означает, что используется последняя версия. https://github.com/Azure/azure-functions-host/issues/4203
Сценарий 2:
Однако, когда используется приведенное ниже,
FUNCTIONS_EXTENSION_VERSION = конкретная версия
Наш код снова работает с последней версией среды выполнения. Поскольку указанная среда выполнения удаляется функциями Azure, а вместо нее используется последняя среда выполнения с критическими изменениями, https://github.com/Azure/app-service-announcements-discussions/issues/90
Опять же, какой лучший способ уменьшить ошибку?
Обновления
С точки зрения временных рамок, как работает последняя среда выполнения, когда она доступна для публичной загрузки и развернута в функциях Azure? Например, насколько заранее доступна среда выполнения до ее развертывания в функциях Azure?
Как долго старая среда выполнения будет сохраняться в функциях Azure после последнего развертывания среды выполнения? На основании каких факторов принято решение удалить старую среду выполнения?
Ответ №1:
Наилучшая и рекомендуемая практика — использовать последнюю. Это редкое явление, но, к сожалению, был введен регресс с новым выпуском, влияющим на ваше приложение.
Если вы хотите выполнить проверку в новых версиях, рекомендуется:
-
Подпишитесь на уведомления о новых выпусках наhttps://github.com/Azure/app-service-announcements/issues
-
Прикрепите себя к текущей версии, которую вы проверили
-
По мере появления новой версии обновите тестовую среду, чтобы принять эту новую версию (или создайте тестовую среду, которая автоматически обновляется, используя ~ 2). Если у вас установлена тестовая среда с автоматическими обновлениями и автоматизированными тестами, это значительно упрощает процесс.
-
После проверки обновите производственную среду до этой новой версии
- Если вы обнаружите проблему, отчеты позволяют нам убедиться, что мы не удаляем
версию, которая работает.
Мы всегда поддерживаем недавно развернутую версию и предыдущий выпуск, и, помимо исправлений и небольших нерегламентированных развертываний, периодичность выпуска составляет ~ 2 недели. Все, что было помечено как версия, которую необходимо сохранить из-за проблем, вызванных выпуском (заставляющим клиентов закреплять), также сохраняется.