Как отличить кратковременный 5xx от ошибки запроса, ограничить повторы, сопоставить сбои по модели, региону и времени и передать поддержке полезные метаданные без содержимого запросов.
Классифицируйте ответ до повторов
Запишите HTTP-статус, точное время UTC, операцию, развёртывание и факт потокового режима. Справочник Foundry отделяет 500 как неожиданный внутренний сбой от 401/403, связанных с доступом, 429, связанного с ограничением, и 400/422, связанных с запросом. Не объединяйте их в одну метрику «API не работает». Повтор для 400 или ошибки доступа обычно не исправляет контракт, тогда как ограниченный повтор 5xx может быть уместен, если операция безопасна для повторного выполнения.
Ограничьте повторную нагрузку
Microsoft рекомендует для временных 5xx экспоненциальную задержку, а общая архитектурная рекомендация требует проверять, безопасно ли повторять операцию. Установите небольшое максимальное число попыток, увеличивайте паузу и добавьте случайное смещение, чтобы множество клиентов не повторили запрос одновременно. Не создавайте горячий цикл и не скрывайте ошибку бесконечными повторами. Для операций с побочным эффектом сначала подтвердите идемпотентность или используйте прикладной механизм восстановления.
Сопоставьте сбои по четырём осям
Постройте таблицу: модель и версия, имя развёртывания, регион, пятиминутное окно. Добавьте размер входа только в агрегированном виде и отметьте, падают ли все запросы или доля. Azure Monitor поддерживает измерения по модели, развёртыванию, региону, операции и статус-коду. Если ошибка сосредоточена в одном развёртывании, сравните контрольное при той же форме запроса; если распределена по регионам, проверьте общие зависимости клиента. Это диагностическая корреляция, а не доказательство причины.
Сохраните корреляцию без содержимого
Для каждого отказа сохраняйте служебный идентификатор запроса, собственный корреляционный идентификатор, URL без секретных параметров, статус и время UTC. Один клиентский идентификатор можно сохранять через цепочку повторов, чтобы поддержка видела связь попыток. Не записывайте токен авторизации, полный prompt, вложения, персональные данные или ключ ресурса. Если содержимое влияет на воспроизведение, подготовьте минимальный синтетический пример и отдельно опишите, воспроизводится ли сбой без пользовательских данных.
Определите критерий эскалации
Эскалируйте, когда 500 повторяется после ограниченных попыток, затрагивает независимые синтетические запросы или превышает ваш порог ошибок в нескольких окнах. В пакет включите регион, развёртывание, модель, API-версию, временной диапазон, долю ошибок, корреляционные идентификаторы и результат контрольного запроса. Успех исправления подтверждается снижением доли 5xx на сопоставимой нагрузке, а не одной успешной попыткой. Статус сервиса и метрики проверяйте отдельно; форумная ветка не доказывает глобальный инцидент.
Материал подготовлен самостоятельно с автоматизацией и редакционно проверен 29 июля 2026 года по обезличенному сигналу Microsoft Q&A и официальным руководствам Microsoft; запросы, токены и идентификаторы пользователей не использовались.
Источники и проверка
- Microsoft Learn — Microsoft Foundry REST API reference проверено 2026-07-29
- Microsoft Learn — Azure OpenAI monitoring data reference проверено 2026-07-29
- Microsoft Learn — Transient Fault Handling проверено 2026-07-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.