Почему Studio может вернуть 404 Form Recognizer Not Found после переноса подписки, хотя SDK и REST работают: разделяем data plane, привязку custom project, tenant и storage.
Разделите data plane и контекст Studio
Если SDK или REST успешно анализирует документ тем же endpoint, ресурс и модель отвечают по data plane. Это не гарантирует, что сохранённый custom project в Studio ссылается на текущий resource ID. Перенос между resource group или subscription меняет идентификатор ресурса, даже если имя и регион не изменились. Поэтому зафиксируйте отдельно четыре результата: REST, prebuilt model в Studio, открытие старого custom project и создание нового проекта. Не отправляйте в тест реальные документы или ключи.
Сверьте tenant, subscription и resource group
В портале и Studio проверьте выбранный Microsoft Entra tenant, целевую subscription, resource group, имя Document Intelligence resource и endpoint. Не полагайтесь только на одинаковое имя: resource ID содержит subscription и group. Общая документация Azure предупреждает, что после move нужно обновить инструменты и скрипты, использующие прежние IDs. Если REST использует новый endpoint, а Studio открывает старую закладку проекта, это сильное расхождение контекста. Не выполняйте повторный move до проверки этих полей.
Проверьте официально описанный сценарий 404
Microsoft прямо описывает Form Recognizer Not Found при открытии custom project, когда привязанный Document Intelligence resource удалён или перемещён в другую resource group. Это подтверждает класс причины, но не означает, что данные модели потеряны. Официальные варианты — восстановить ресурс в прежнем месте с тем же именем либо создать custom project с перемещённым ресурсом и указать то же storage. В ситуации, где API уже работает, второй вариант обычно лучше сохраняет текущий ресурс без обратного перемещения.
Проверьте storage и роли до повторной привязки
Custom project требует доступ к Blob Storage и ролям для Document Intelligence и storage. Перед созданием нового проекта убедитесь, что текущая учётная запись видит нужный container и имеет согласованные роли, не меняя аутентификацию всего сервиса. Используйте нейтральный тестовый документ или список файлов без открытия содержимого. Ошибки PermissionDenied и AuthorizationPermissionMismatch относятся к другим ветвям, поэтому не смешивайте их с 404. Если новый проект видит storage и модели, старая project binding становится подтверждённой границей.
Остановитесь до удаления работающего ресурса
Не удаляйте ресурс, модели или storage, пока SDK/REST подтверждают рабочий data plane. Для поддержки сохраните время 404, tenant и subscription в защищённом канале, старый и новый resource ID, endpoint без ключа, результат prebuilt и custom project, а также correlation ID браузерного запроса после удаления cookies и токенов. Красный флаг — предложение повторить межподписочный перенос: оно меняет ещё больше зависимостей. Диагностика завершена, когда новый проект с новым resource ID и прежним storage открывается либо возвращает отдельную конкретную ошибку прав.
Материал подготовлен самостоятельно с автоматизацией и редакционно проверен 30 июля 2026 года по обезличенному публичному сигналу и официальной документации Azure; названия подписок, ресурсов, моделей и storage не использовались.
Источники и проверка
- Microsoft Learn — Document Intelligence Studio и Form Recognizer Not Found проверено 2026-07-30
- Microsoft Learn — перенос Azure resources между группами и подписками проверено 2026-07-30
- Microsoft Learn — custom projects Document Intelligence Studio проверено 2026-07-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.