Устранение распространенных проблем при обновлении среды выполнения Azure
В этой статье описывается, как устранить некоторые распространенные проблемы, которые могут возникнуть во время обновления языка приложения-функции или версии среды выполнения, например, среда выполнения недоступна, и модули не найдены.
Действия, которые необходимо предпринять, если вы получите сообщение электронной почты "Рекомендуемое действие: обновите приложения Функции Azure для использования .NET 6".
Расширенная поддержка Microsoft .NET Core 3.1 закончилась 3 декабря 2022 г. Функции Azure среда выполнения версии 3 основана на .NET Core 3.1. Рекомендуется обновить приложение-функцию до среды выполнения версии 4.x, которая использует .NET 6 и имеет долгосрочную поддержку. После 3 декабря 2022 г. ваши приложения не могут быть доступны для новых функций, исправлений безопасности, оптимизации производительности или поддержки до обновления до версии 4.x среды выполнения функций.
Приложения Функций в среде выполнения версии 3 будут продолжать работать, и ваши приложения не влияют. Вы можете развернуть код в этих приложениях Функций после этой даты. Но мы можем удалить возможность создания приложений, предназначенных для среды выполнения Функций версии 3, с помощью общих путей.
Дополнительные сведения и рекомендации по миграции см. в следующем разделе:
Проверка совместимости приложения-функции для среды выполнения версии 4
- Перейдите к своему приложению-функции на портале Azure. Выберите Диагностика и решение проблем, чтобы открыть систему диагностики Функций Azure. В строке поиска введите Обновление версии языка приложения-функции или версии среды выполнения для запуска напрямую. Диагностический отчет содержит рекомендации по обновлению. После завершения проверки просмотрите рекомендации и устраните выявленные проблемы в приложении.
- Мы также предлагаем средство проверки перед обновлением, которое поможет выявить потенциальные проблемы при переносе приложения-функции в версию 4.x. В той же строке поиска системы диагностики введите Средство проверки перед обновлением до Функций 4.x для запуска напрямую. После завершения проверки просмотрите рекомендации и устраните выявленные проблемы в приложении.
- Настоятельно рекомендуем обновить локальную среду проекта до версии 4.x. Полностью протестируйте приложение локально с помощью версии 4.x Azure Functions Core Tools.
- Рекомендуем сначала использовать промежуточный слот для тестирования и проверки приложения в Azure в новой версии среды выполнения, прежде чем выполнять развертывание в рабочем слоте. Обязательно настройте
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0
для миграции с использованием слотов.
Изменение версии среды выполнения функций для Windows
- Задайте значение FUNCTIONS_EXTENSION_VERSION, которое является параметром приложения в области
~4
конфигурации портал Azure. Дополнительные сведения см. в разделе "Изменение версии среды выполнения". - Задайте для параметра сайта целевой
netFrameworkVersion
объект .NET 6.netFrameworkVersion
— это параметр SiteConfig, а не параметр приложения. И он недоступен напрямую в портал Azure. Но его можно задать с помощью Azure Resource Explorer или Azure CLI/PowerShell.
Дополнительные сведения см. в статье Версии среды выполнения Функций.
Изменение версии среды выполнения функций для Linux
- Задайте значение FUNCTIONS_EXTENSION_VERSION, которое является параметром приложения в области
~4
конфигурации портал Azure. Дополнительные сведения см. в разделе "Изменение версии среды выполнения". - Задайте для набора
LinuxFxVersion
, используя интерфейс командной строки (CLI), в<Language>|<LanguageVersion>
зависимости от используемого языка. Дополнительные сведения см. в разделе "Использование LinuxFxVersion для приложений-функций Linux". Например, чтобы обновить .NET 6, можно задать значениеdotnet|6.0
иFUNCTIONS_EXTENSION_VERSION
значениеLinuxFxVersion
~4
.
Дополнительные сведения см. в статье Версии среды выполнения Функций.
Получение списка поддерживаемых языков версией среды выполнения
См. список поддерживаемых языков версией среды выполнения.
Обновление параметра версии языка для приложения-функции после обновления кода
- PowerShell: в портал Azure задайте значение
PowerShell Core version
. Дополнительные сведения см. в разделе "Изменение версии PowerShell". - Python: задайте для
linuxFxVersion
значениеpython|3.x
. Дополнительные сведения см. в разделе Изменение версии Python. - Java: укажите версию языка, значение
-DjavaVersion
11 или 17. Дополнительные сведения см. в разделе Указание версии развертывания. - Узел, JavaScript: для Windows задайте
WEBSITE_NODE_DEFAULT_VERSION
для параметра приложения значение~16
. При использовании Linux задайте дляlinuxFxVersion
значениеnode|16
с помощью CLI. Дополнительные сведения см. в разделе "Настройка версии узла".
использование прокси-серверов Функции Azure
Поддержка прокси-серверов снова предоставляется в версии 4.x, чтобы вы могли успешно обновить приложения-функции до последней версии среды выполнения. Однако рекомендуется как можно скорее перейти на интеграцию приложений-функций с Azure Управление API. Управление API позволяет использовать более полный набор функций для определения, защиты, управления и монетизации API на основе функций. Дополнительные сведения см. в разделе Переход на APIM и статье Интеграция функций с APIM с помощью Visual Studio.
Получение списка всех приложений Функции Azure, использующих среду выполнения 1.x, 2.x или 3.x.
- Перейдите к своему приложению-функции на портале Azure.
- Выберите Диагностика и решение проблем, чтобы открыть систему диагностики Функций Azure.
- В строке поиска введите Обновление версии языка приложения-функции или версии среды выполнения для запуска напрямую.
- В отчете диагностики прокрутите вниз и выберите список всех сведений о представлении приложения-функции>.
- Задайте фильтры поиска и выберите "Показать ", чтобы получить список приложений функций в текущей подписке.
Кроме того, для определения этого можно использовать Служба приложений вызовы REST API (GetConfiguration). LinuxFxVersion
и WindowsFxVersion
укажите сведения о версии.
Перемещение приложения платформа .NET Framework 4.6.1 из среды выполнения Функций версии 1 в версию 4
Поддержка .NET Framework 4.6.1 прекращена, поэтому приложения следует обновить до NET Framework 4.8. В Функциях версии 4 можно запустить приложение .NET Framework 4.8 во внепроцессном режиме. Дополнительные сведения см. в руководстве по изолированным процессам.
Перенесенное приложение-функция не запускается или имеет некоторые проблемы со средой выполнения.
- Для приложений .NET не забудьте обновить код до .NET 6 перед созданием и развертыванием.
- Дважды проверьте версию приложения во портал Azure.
- Для приложений Windows также необходимо указать
netFrameworkVersion
с помощью CLI или PowerShell. - Убедитесь, что вы используете пакеты расширений 2.x или более поздней версии, как рекомендуется. Для среды выполнения Функций версии 4.x требуется версия 2.x или 3.0.0.
- Вход в Службу хранилища Azure с помощью AzureWebJobsDashboard больше не поддерживается в версии 4.x. Вместо этого используйте Application Insights для мониторинга.
- Если вы получаете сообщение о том, что среда выполнения Функции Azure недоступна, и вы предоставляете общий доступ к учетным записям хранения, ознакомьтесь с рекомендациями по идентификатору узла.
- Функции Azure 4.x не поддерживает Node.js 10 и 12, Python 3.6 и PowerShell 6. Дополнительные сведения см. в разделе Языковые версии, поддерживаемые для среды выполнения версии 4.
- Если в функциях Python возникают ошибки, связанные с столкновением модуля и модулем, попробуйте установить
PYTHON_ISOLATE_WORKER_DEPENDENCIES
значение 1 в параметрах приложения. - Ознакомьтесь с переносом существующих приложений-функций.
- Для проблем со средой выполнения из параметра "Диагностика и решение проблем" в портал Azure найдите приложение-функцию или сообщите об ошибках и просмотрите диагностический отчет об ошибках и решениях. Кроме того, просмотрите сведения о проверке конфигурации функций в средстве обнаружения, чтобы убедиться в правильности конфигурации.
- Ознакомьтесь с проблемами блога при обновлении приложений-функций Azure до версии 4 , чтобы получить дополнительные советы по устранению неполадок.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.