Поделиться через


Устранение распространенных проблем при обновлении среды выполнения Azure

В этой статье описывается, как устранить некоторые распространенные проблемы, которые могут возникнуть во время обновления языка приложения-функции или версии среды выполнения, например, среда выполнения недоступна, и модули не найдены.

  • Расширенная поддержка 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

  1. Задайте значение FUNCTIONS_EXTENSION_VERSION, которое является параметром приложения в области ~4конфигурации портал Azure. Дополнительные сведения см. в разделе "Изменение версии среды выполнения".
  2. Задайте для параметра сайта целевой netFrameworkVersion объект .NET 6. netFrameworkVersion — это параметр SiteConfig, а не параметр приложения. И он недоступен напрямую в портал Azure. Но его можно задать с помощью Azure Resource Explorer или Azure CLI/PowerShell.

Дополнительные сведения см. в статье Версии среды выполнения Функций.

Изменение версии среды выполнения функций для Linux

  1. Задайте значение FUNCTIONS_EXTENSION_VERSION, которое является параметром приложения в области ~4конфигурации портал Azure. Дополнительные сведения см. в разделе "Изменение версии среды выполнения".
  2. Задайте для набора 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.

  1. Перейдите к своему приложению-функции на портале Azure.
  2. Выберите Диагностика и решение проблем, чтобы открыть систему диагностики Функций Azure.
  3. В строке поиска введите Обновление версии языка приложения-функции или версии среды выполнения для запуска напрямую.
  4. В отчете диагностики прокрутите вниз и выберите список всех сведений о представлении приложения-функции>.
  5. Задайте фильтры поиска и выберите "Показать ", чтобы получить список приложений функций в текущей подписке.

Кроме того, для определения этого можно использовать Служба приложений вызовы 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.