К обсуждениям

SCM у Azure Functions Flex отвечает 404: проверяем deployment plane

Редакция VOne Работа и бизнес

Что означает HTTP 404 на SCM endpoint у Flex Consumption: One deploy, deployment storage, диагностика развёртывания и критерий, когда не надо снова удалять рабочее приложение.

Не приравнивайте SCM 404 к остановке функции

Сначала отдельно проверьте публичный endpoint функции, состояние Function App и историю последнего развёртывания. HTTP 404 на SCM-hostname означает, что запрошенный путь не найден в этой поверхности, но сам по себе не доказывает, что runtime не запускает функции. Запишите точный hostname без токенов, hosting plan, регион и метод деплоя. Если runtime отвечает, не удаляйте приложение второй раз: повторное создание меняет состояние и усложняет сравнение, а имя ресурса не гарантирует идентичность всех внутренних зависимостей.

Сверьте модель Flex Consumption

Microsoft указывает, что Flex Consumption — Linux-план с единым путём развёртывания: проект упаковывается, загружается в deployment storage и запускается из пакета. One deploy является единственной поддерживаемой deployment technology для Flex. Поэтому инструкции для Zip Deploy или Kudu на других планах нельзя автоматически переносить на Flex. Подтвердите фактический plan SKU в свойствах ресурса и используемый инструмент. Если приложение относится к другому Consumption-плану, это уже другая диагностическая ветка.

Проверьте deployment storage и историю

В Flex настройки развёртывания связывают приложение с blob container и способом аутентификации. Используйте портал Diagnose and solve problems и поиск Flex Consumption Deployment: Microsoft отмечает, что инструмент показывает историю, статус package и рекомендации. Сверьте время последней попытки, наличие пакета, доступ identity или connection к контейнеру и результат операции. Не выгружайте connection string и не меняйте storage одновременно с пересозданием приложения. Сначала зафиксируйте текущие ссылки на ресурсы.

Сравните hostname и метод обращения

Сохраните DNS-имя из свойств нового ресурса и сравните его с адресом, который использует CI или браузер. Старый bookmark, кэшированная переменная или вручную построенный SCM-hostname может указывать не на текущую поверхность. Проверяйте только безопасный GET без deployment credential. Затем запустите поддерживаемый One deploy тем же инструментом, который указан в документации, и наблюдайте историю. Не подбирайте служебные пути и не публикуйте deployment URLs с токенами.

Эскалируйте воспроизводимое расхождение

Пакет для Azure Support включает timestamp UTC, subscription и resource IDs только в закрытом обращении, регион, plan, runtime version, новый hostname, метод создания, способ деплоя, результат runtime endpoint, HTTP status SCM и снимок Flex Deployment diagnostics. Критерий успеха — зафиксированный successful deployment и выполнение тестовой функции из нового пакета; доступность конкретной служебной страницы не должна быть единственным критерием. Если пакет не принимается при корректном One deploy, остановите пересоздания и эскалируйте deployment plane.

Материал подготовлен самостоятельно с автоматизацией и редакционно проверен 29 июля 2026 года по обезличенному сигналу Microsoft Q&A и официальной документации Azure Functions; deployment credentials и данные ресурсов не использовались.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.