Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приведенные в этой статье сведения помогут устранить проблемы при отображении на портале Azure следующей строки ошибки:
"Ошибка. Среда выполнения Функций Azure недоступна. Щелкните, чтобы получить сведения о конфигурации хранилища".
Эта проблема возникает, когда не удается запустить среду выполнения функций. Наиболее распространенной причиной этого является то, что приложение-функция потеряло доступ к своей учетной записи хранения. Дополнительные сведения см. в разделе Требования к учетной записи хранения.
Остальная часть сведений этой статьи поможет устранить определенные причины этой ошибки, в том числе укажет, как можно определить и разрешить каждый из таких случаев.
Учетная запись хранения удалена
Для работы каждого приложения-функции требуется учетная запись хранения, используемая узлом функций. Если учетная запись хранения узла по умолчанию будет удалена, функциональное приложение не будет запускаться.
Начните с поиска имени учетной записи хранения в параметрах приложения.
AzureWebJobsStorage или WEBSITE_CONTENTAZUREFILECONNECTIONSTRING содержит как часть строки подключения имя вашей учетной записи хранения. Дополнительные сведения см. в статье Справочник по параметрам приложений для Функций Azure.
Выполните поиск учетной записи хранения на портале Azure, чтобы проверить, существует ли она. Если она удалена, повторно создайте учетную запись хранения и замените строки подключения хранилища. Код функции будет потерян, и вам потребуется развернуть его повторно.
Параметры приложения учетной записи хранения удалены
Если на предыдущем шаге найти строку подключения учетной записи хранения не удается, вероятно, она была удалена или перезаписана. Удаление параметров приложения чаще всего происходит при использовании для настройки параметров приложения слотов развертывания или сценариев Azure Resource Manager.
Необходимые параметры приложения
- Требуется:
- Требуется для функций в планах "Elastic Premium" и "Consumption":
Дополнительные сведения см. в статье Справочник по параметрам приложений для Функций Azure.
Руководство
- Не проверяйте Параметр слота для любого из этих настроек. При переключении слотов развертывания функциональное приложение выходит из строя.
- Не изменяйте эти параметры в рамках автоматического развертывания.
- Эти параметры должны быть указаны и допустимы во время создания. Автоматическое развертывание, не содержащее этих параметров, приводит к тому, что приложение-функция не выполняется, даже если параметры добавляются позже.
Недействительные учетные данные для аккаунта хранения
При повторном создании ключей к хранилищу данных необходимо обновить указанные выше строки подключения к учетной записи хранения. Дополнительные сведения об управлении ключами к хранилищу данных см. в статье Создание учетной записи службы хранения Azure.
Учетная запись хранения недоступна
Приложение-функция должно иметь доступ к учетной записи хранения. Ниже приведены распространенные проблемы, которые блокируют доступ приложения-функции к учетной записи хранения:
Функциональное приложение развернуто в Среде службы приложений (ASE) без корректных сетевых правил, разрешающих поток исходящего и входящего трафика к учетной записи хранилища.
Брандмауэр учетной записи хранения включен и не настроен разрешать передачу трафика из службы "Функции" и в нее. Дополнительные сведения см. в статье Настройка брандмауэров службы хранилища Azure и виртуальных сетей.
Убедитесь, что для параметра
allowSharedKeyAccessзадано значениеtrue, которое является значением по умолчанию. Дополнительные сведения см. в статье Предотвращение авторизации с общим ключом для учетной записи службы хранения Azure.
Дневная квота выполнения исчерпана
Если у вас настроена квота на дневное выполнение, ваше приложение-функция временно отключается, что приводит к недоступности многих элементов управления портала.
Чтобы проверить квоту на портале Azure, выберите Функции платформы>Параметры приложения-функции в приложении-функции. Если вы превысили ежедневный лимит использования, отображается следующее сообщение:
Функциональное приложение достигло ежедневной квоты использования и будет остановлено на 24 часа.
Чтобы устранить эту проблему, сбросьте квоту до нуля или увеличьте ежедневную квоту, а затем перезапустите приложение. В противном случае выполнение приложения блокируется до следующего дня.
Приложение находится за брандмауэром
Функциональное приложение может быть недоступно по одной из возможных причин:
Приложение-функция размещается в Среде службы приложений с внутренней балансировкой нагрузки и настраивается для блокировки входящего интернет-трафика.
У приложения-функции есть ограничения на входящие IP, настроенные таким образом, чтобы блокировать доступ к Интернету.
Портал Azure обращается непосредственно к запущенному приложению, чтобы получить список функций, и выполняет HTTP-вызовы к конечной точке Kudu. Параметры уровня платформы на вкладке Функции платформы по-прежнему доступны.
Для проверки конфигурации ASE выполните следующие действия.
- Перейдите в группу безопасности сети (NSG) подсети, в которой находится ASE.
- Проверьте правила входящего трафика, чтобы разрешить трафик, поступающий с общедоступного IP-адреса компьютера, на котором выполняется доступ к приложению.
Вы также можете использовать портал на компьютере, подключенном к виртуальной сети, в которой выполняется приложение, или на виртуальной машине, работающей в виртуальной сети.
Дополнительные сведения о конфигурации входящих правил см. в Рекомендациях по сетевым аспектам среды службы приложений.
Ошибки контейнера в Linux
Для приложений-функций, работающих в контейнере Linux, ошибка Azure Functions runtime is unreachable может возникать в результате проблем с контейнером. Чтобы просмотреть журналы контейнеров на предмет ошибок, используйте следующую процедуру:
Перейдите к конечной точке Kudu для приложения-функции, расположенной по адресу
https://<FUNCTION_APP>.scm.azurewebsites.net, где<FUNCTION_APP>— имя приложения.Скачайте ZIP-файл журналов Docker и просмотрите его содержимое на локальном компьютере.
Проверьте, есть ли в журналах ошибки, указывающие на то, что контейнер не может успешно запуститься.
Образ контейнера недоступен
Ошибка может возникнуть, если образ контейнера, на который указывает ссылка, недоступен или не смог правильно запуститься. Проверьте, есть ли в журналах ошибки, указывающие на то, что контейнер не может успешно запуститься.
Необходимо исправить все ошибки, которые препятствуют правильному запуску контейнера для приложения-функции.
Если образ контейнера не найден, в журналах Docker отображается manifest unknown ошибка. В этом случае можно использовать команды Azure CLI, описанные в статье Выбор целевых версий среды выполнения Функций Azure, чтобы изменить образ контейнера, связанный со ссылкой. Если вы развернули настраиваемый образ контейнера, необходимо исправить образ и повторно развернуть обновленную версию в реестре, на который указывает ссылка.
Контейнер приложений имеет конфликтующие порты
Ваше функциональное приложение может быть в неработоспособном состоянии из-за конфликта при назначении портов при запуске. Эта ситуация может произойти в следующих случаях:
- Контейнер содержит работающие службы, одна из которых или несколько пытаются связаться с тем же портом, что и функциональное приложение.
- Вы добавили гибридное подключение Azure, которое использует то же значение порта, что и функциональное приложение.
По умолчанию контейнер, в котором выполняется приложение-функция, использует порт :80. Если другие службы в том же контейнере также пытаются использовать порт :80, приложение-функция может не запуститься. Если в журналах отображаются конфликты портов, измените порты по умолчанию.
Конфликт идентификаторов хоста
Начиная с версии 3.x среды выполнения Функций стали обнаруживаться конфликты идентификаторов узлов, в результате чего выдаются предупреждения. В версии 4.x в журнал заносится ошибка, и сервер останавливается. Если среда выполнения для приложения-функции не может запуститься, просмотрите журналы. Если появляется предупреждение или ошибка о конфликтах идентификаторов узлов, выполните шаги по устранению, описанные в Рекомендациях по идентификатору узла.
Параметры приложения только для чтения
Изменение любых параметров только для чтения приложения службы приложений может привести к тому, что ваше приложение-функция станет недоступным.
модификации аутентификации ASP.NET
Применяется только к приложениям C#, работающим в рамках процесса с хостом функций.
Конфигурация аутентификации ASP.NET в стартап-классе функции может переопределить службы, необходимые для взаимодействия портала Azure с хостом. Это включает, и не ограничивается вызовами AddAuthentication(). Если службы проверки подлинности узла отключаются, а портал не может связаться с узлом, он считает приложение недоступным. Эта проблема может привести к ошибкам, таким как: No authentication handler is registered for the scheme 'ArmToken'.
Следующие шаги
Узнайте о мониторинге приложений функций: