Коды состояния HTTP для Azure Cosmos DB

В этой статье перечислены коды состояния HTTP, возвращаемые операциями REST.

Код Описание
200 ОК Одна из следующих REST-операций завершена успешно.

- GET в ресурсе.
- PUT в ресурсе.
- POST в ресурсе.
- POST в ресурсе хранимой процедуры для выполнения хранимой процедуры.
201 Создано Операция POST для создания ресурса завершена успешно.
204. Нет содержимого Операция DELETE завершена успешно.
400 Недопустимый запрос Недопустимый JSON, SQL или JavaScript в тексте запроса.

Кроме того, ошибка 400 также может быть возвращена, когда требуемые свойства ресурса отсутствуют или заданы в тексте операций POST или PUT для ресурса.

Ошибка 400 также возвращается, если уровень согласованности для операции GET заменяется более строгим уровнем согласованности из одной выборки для учетной записи.

400 также возвращается, если запрос, требующий x-ms-documentdb-partitionkey, не включает его.
401 Unauthorized (Не авторизовано) Значение 401 возвращается, Authorization если заголовок недопустим для запрошенного ресурса.
403 — запрещено Истек срок действия маркера проверки подлинности.

Код 403 также возвращается во время POST операции создания ресурса при достижении квоты ресурса. Примером такого сценария является попытка добавить документы в коллекцию, которая достигла подготовленного хранилища.

Код 403 также может возвращаться, если хранимая процедура, триггер или определяемая пользователем функция заблокированы из-за интенсивного использования ресурсов.

Ошибка с кодом "403 — запрещено" возвращается, когда правила брандмауэра, настроенные в учетной записи Azure Cosmos DB, блокируют запрос. Все запросы, полученные от компьютеров, IP-адреса которых не входят в список разрешенных, блокируются с кодом 403.

403.3 — этот код состояния возвращается для запросов на запись во время операции отработки отказа вручную. Этот код состояния используется драйверами в качестве кода перенаправления для пересылки запросов на запись в новый регион записи. Клиент Direct REST должен выполнить GET для DatabaseAccount, чтобы узнать текущий регион записи и перенаправить запрос на операцию записи в соответствующую конечную точку.
404 Not Found (Не найдено) Операция пытается использовать ресурс, который уже не существует. Например, ресурс мог быть уже удален.
408 — истекло время ожидания запроса Операция не была завершена в течение заданного промежутка времени. Этот код возвращается, если хранимая процедура, триггер или UDF (в запросе) не завершаются в течение максимального времени выполнения.
409 Conflict (Конфликт) Идентификатор ресурса для операции PUT или POST занят существующим ресурсом. Используйте другой идентификатор. Для секционированных коллекций идентификатор должен быть уникальным во всех документах с одним и тем же значением ключа секции.
412. Сбой предусловия Ошибка оптимистической блокировки. Операция, указанная в теге eTag, отличается от доступной на сервере версии. Повторите запрос после считывания последней версии ресурса и обновления eTag в запросе.
413 Сущность слишком велика Размер документа в запросе превышает допустимый размер документа для запроса. Максимальный допустимый размер документа — 2 МБ.
423 Заблокировано Операция масштабирования пропускной способности не может быть выполнена, так как выполняется другая операция масштабирования.
424 Сбой зависимости Если операция с документом завершается сбоем в области транзакций операции TransactionalBatch, все остальные операции в пакете считаются зависимостями со сбоями. Этот код состояния указывает, что текущая операция считается неудачной из-за другого сбоя в той же области транзакций.
429 Слишком много запросов Коллекция превысила подготовленный предел пропускной способности. Повторите запрос, отложив его на период, указанный сервером в параметре retry-after. Дополнительные сведения см. в разделе Единицы запросов.
449. Повторная попытка Операция обнаружила временную ошибку. Этот код происходит только при операциях записи. Повторная операция безопасна.
500 Internal Server Error (внутренняя ошибка сервера). Сбой операции из-за непредвиденной ошибки в службе. Обратитесь в службу поддержки. См. статью Регистрация проблемы с поддержка Azure.
503 Service Unavailable (Служба недоступна) Не удалось выполнить операцию, так как служба была недоступна. Такая ситуация может произойти из-за проблем с сетевым подключением или доступностью службы. Повторная операция безопасна. Если проблема не исчезла, обратитесь в службу поддержки.

Коды подсостояния HTTP

При использовании ключей Customer-Managed (CMK) в Azure Cosmos DB при возникновении ошибок Azure Cosmos DB возвращает сведения об ошибке вместе с кодом подсостояние HTTP в ответе. Этот код подсостояния можно использовать для отладки первопричины проблемы. В настоящее время Azure Cosmos DB поддерживает следующие коды подсостояния:

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

Azure Cosmos DB поддерживает следующие коды подсостояния для проблем на стороне сервера:

Код подсостоя Описание
4000 (не удалось получить маркер Azure AD или получить доступ к ней) Эта ошибка возникает, если Azure Cosmos DB не удается получить маркер доступа Azure Active Directory (Azure AD). Этот маркер необходим для доступа Azure Cosmos DB к Key Vault. Ошибка может возникать из-за проблемы с сетью или центром обработки данных, и пользователь не может предпринять действие. Создайте запрос на поддержку , чтобы связаться с командой Azure Cosmos DB для устранения проблемы.
4001 (служба Azure AD недоступна) Эта ошибка возникает, если служба Azure AD не работает или имеет проблемы. Вы можете проверка панели мониторинга простоя Azure, чтобы проверить, есть ли какие-либо сбои. Эти сбои обычно устраняются в течение нескольких часов. Лучше всего связаться с командой Azure AD и сообщить им о возникшую проблему. Если команда Azure AD обнаружит, что проблемы нет, создайте запрос на поддержку, чтобы обратиться к команде Azure Cosmos DB для ее устранения.
4004 (служба Key Vault недоступна) Эта ошибка возникает, если Azure Cosmos DB пытается получить доступ к Key Vault, но служба недоступна. Это может быть связано с проблемой с сетью для доступа к Key Vault или сама служба может быть отключена. Вы можете проверка панели мониторинга простоя Azure, чтобы проверить, есть ли какие-либо сбои. Эти сбои обычно устраняются в течение нескольких часов. Лучше всего связаться с командой Key Vault и сообщить им о возникшую проблему. Если команда Key Vault обнаружит, что проблемы нет, создайте запрос на поддержку, чтобы связаться с командой Azure Cosmos DB для ее решения.
4007 (внутренняя ошибка сервера) Это внутренняя ошибка сервера, и она возникает, если входные байты не в формате base64.
4008 (Key Vault внутренние ошибки службы) Эта ошибка возникает, если Azure Cosmos DB не удается получить доступ к Key Vault. Это может быть связано с проблемой с сетью или из-за того, что служба Key Vault не работает. Вы можете проверка панели мониторинга простоя Azure, чтобы проверить, есть ли какие-либо сбои. Эти сбои обычно устраняются в течение нескольких часов. Лучше всего связаться с командой Key Vault и сообщить им о возникшую проблему. Если команда Key Vault обнаружит, что проблемы нет, обратитесь к команде Azure Cosmos DB для ее устранения.
1013 (выполняется операция создания коллекции) При возникновении исключения об истечении времени ожидания при создании коллекции выполните операцию чтения, чтобы проверить, была ли успешно создана коллекция. Операция чтения создает исключение до тех пор, пока операция создания коллекции не будет выполнена успешно. Если операция чтения создает исключение с кодом состояния 404 и кодом вложенного состояния 1013, это означает, что операция создания коллекции все еще выполняется. Повторяйте операцию чтения, пока не получите коды состояния 200 или 201. Эти коды позволяют узнать, что коллекция успешно создана.

Коды подсостояния для проблем с конечным пользователем

Azure Cosmos DB поддерживает следующие коды подсостояния для проблем, вызванных конечным пользователем:

Код подсостоя Описание
4002 (Key Vault не предоставляет разрешение на Azure AD или ключ отключен) Эта проблема возникает, если вы удалили удостоверение Azure Cosmos DB из политик доступа Key Vault или если вы отключили ключ. Эта проблема обычно вызвана конечным пользователем. В случае возникновения этой ошибки убедитесь, что у Azure Cosmos DB есть доступ к Key Vault и ключ включен.
4003 (ключ не найден) Эта проблема возникает, если ключ удаляется из Key Vault. Эта проблема обычно вызвана конечным пользователем. Одним из предварительных требований для использования Azure Cosmos DB с ключами, управляемыми клиентом, является то, что в Key Vault включена защита от обратимого удаления и очистки. Это означает, что вы можете восстановить удаленный ключ и восстановить доступ к Azure Cosmos DB.
4005 (не удается упаковать или распаковать ключ) Эта ошибка возникает, если Key Vault не может упаковать или распаковать ключ. Эта проблема обычно вызвана конечным пользователем. Одной из возможных причин этой ошибки является то, что Key Vault не удалось декодировать зашифрованный BLOB-объект с помощью последнего ключа, так как ключ был изменен. Чтобы устранить эту ошибку, включите все недавно отключенные ключи, и она будет устранена примерно через час. Если проблема не устранена более чем через 2 часа, передайте ее в Azure Cosmos DB.
4006 (недопустимый URL-адрес ключа) Эта ошибка возникает во время подготовки, если вы включили версию ключа в URL-адрес Key Vault. Эта ошибка часто вызвана конечным пользователем. Чтобы устранить эту ошибку, удалите версию и повторите попытку. Например, если вы использовали URL-адрес в формате https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/<KeyVersion>, обновите его на https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/
4009 (Key Vault DNS-имя не удается разрешить) Эта ошибка возникает, если не удалось разрешить Key Vault DNS-имя, так как вы использовали неправильное имя Key Vault. Эта ошибка вызвана конечным пользователем. Чтобы устранить эту проблему, исправьте имя Key Vault и повторите попытку.

См. также: