Códigos de estado HTTP para Azure Cosmos DB

En este artículo se proporcionan los códigos de estado HTTP devueltos por las operaciones REST.

Código Descripción
200 OK Una de las siguientes operaciones REST se realizó correctamente:

- GET en un recurso.
- PUT en un recurso.
- POST en un recurso.
- POST en un recurso de procedimiento almacenado para ejecutar el procedimiento almacenado.
201 Creado Una operación POST para crear un recurso se ha realizado correctamente.
204 Sin contenido La operación DELETE se realizó correctamente.
400 Solicitud incorrecta El JSON, SQL o JavaScript del cuerpo de la solicitud no es válido.

Además, si las propiedades requeridas de un recurso no aparecen o no está establecidas en el cuerpo de la operación POST o PUT en el recurso, también se puede devolver un error 400.

También se devuelve el error 400 cuando el nivel de coherencia de una operación GET es invalidado por una coherencia mayor que la definida para la cuenta.

400 también se devuelve cuando una solicitud que requiere una clave x-ms-documentdb-partitionkey no la incluye.
401 No autorizado 401 se devuelve cuando el Authorization encabezado no es válido para el recurso solicitado.
(403) Prohibido El token de autorización ha expirado.

El código 403 también se devuelve durante una POST operación para crear un recurso cuando se alcanza la cuota de recursos. Un ejemplo de este escenario es cuando se intenta agregar documentos a una colección que ha llegado a su almacenamiento aprovisionado.

También se puede devolver un error 403 cuando se ha marcado un procedimiento almacenado, un desencadenador o un UDF por un elevado uso de recursos y se ha bloqueado para su ejecución.

Se devuelve un error 403 Prohibido cuando las reglas de firewall configuradas en la cuenta de Azure Cosmos DB bloquean la solicitud. Todas las solicitudes procedentes de máquinas que no pertenezcan a esta lista permitida recibirán una respuesta 403.

403.3: este código de estado se devuelve para las solicitudes de escritura durante la operación de conmutación por error manual. Este código de estado se usa como código de redirección por los controladores para reenviar las solicitudes de escritura a una nueva región de escritura. El cliente de REST directo debe realizar una operación GET en DatabaseAccount para identificar la región de escritura actual y reenviar la solicitud de escritura a ese punto de conexión.
404 No encontrado La operación está intentando actuar en un recurso que ya no existe. Por ejemplo, puede que el recurso ya se haya eliminado.
408 Tiempo de espera de solicitud La operación no se completó dentro del tiempo asignado. Este código se devuelve cuando un procedimiento, desencadenador o UDF (dentro de una consulta) almacenado no completa la ejecución dentro del tiempo máximo de ejecución.
409 Conflicto El identificador proporcionado para un recurso en una operación PUT o POST lo ha tomado un recurso existente. Use otro identificador para el recurso para resolver este problema. Para las colecciones con particiones, el identificador debe ser único dentro de todos los documentos con el mismo valor de clave de partición.
412 Error de condición previa La operación especificó un valor eTag que es diferente de la versión disponible en el servidor, es decir, un error de simultaneidad optimista. Vuelva a intentar la solicitud después de leer la versión más reciente del recurso y de actualizar el valor eTag en la solicitud.
413 Entidad demasiado grande El tamaño de documento en la solicitud supera el tamaño de documento permitido para una solicitud. El tamaño máximo permitido del documento es de 2 MB.
423 Bloqueado La operación de escalado de rendimiento no se puede realizar porque hay otra operación de escalado en curso.
424 Dependencia errónea Cuando se produce un error en una operación de documento dentro del ámbito transaccional de una operación TransactionalBatch, todas las demás operaciones del lote se consideran dependencias con errores. Este código de estado indica que la operación actual se consideró errónea debido a otro error dentro del mismo ámbito transaccional.
429 Demasiadas solicitudes La colección ha superado el límite de rendimiento aprovisionado. Vuelva a intentar la solicitud después de que el servidor haya especificado reintentar después de la duración. Para obtener más información, consulte unidades de solicitud.
449 Reintentar con La operación encontró un error transitorio. Este código solo se produce en operaciones de escritura. Es seguro reintentar la operación.
Error de servidor interno 500 No se pudo realizar la operación debido a un error de servicio inesperado. Póngase en contacto con el servicio de soporte técnico. Consulte Presentación de un problema de Soporte técnico de Azure.
Servicio no disponible 503 No se pudo completar la operación porque el servicio no estaba disponible. Esta situación podría producirse debido a problemas de conectividad de red o disponibilidad del servicio. Es seguro reintentar la operación. Si el problema persiste, póngase en contacto con el soporte técnico.

Códigos de subestado HTTP

Al usar claves de Customer-Managed (CMK) en Azure Cosmos DB, si hay algún error, Azure Cosmos DB devuelve los detalles del error junto con un código de subestado HTTP en la respuesta. Puede usar este código de subestado para depurar la causa principal del problema. Actualmente, Azure Cosmos DB admite los siguientes códigos de subestado:

Códigos de subestado para problemas del lado servidor

Azure Cosmos DB admite los siguientes códigos de subestado para problemas del lado servidor:

Código de subestado Descripción
4000 (No se pudo obtener o acceder al token de Azure AD) Este error se produce si Azure Cosmos DB no puede obtener el token de acceso de Azure Active Directory (Azure AD). Este token es necesario para que Azure Cosmos DB acceda al Key Vault. El error puede producirse debido a un problema de red o a un problema del centro de datos y no es algo que el usuario pueda realizar una acción. Cree una solicitud de soporte técnico para llegar al equipo de Azure Cosmos DB para resolver el problema.
4001 (el servicio Azure AD no está disponible) Este error se produce si el servicio de Azure AD está inactivo o tiene problemas. Puede comprobar el panel de interrupción de Azure para comprobar si hay alguna interrupción existente. Estas interrupciones se resuelven normalmente en un par de horas. Es mejor que se ponga en contacto con el equipo de Azure AD y hágalo saber el problema que está viendo. Si el equipo de Azure AD encuentra que no hay ningún problema, cree una solicitud de soporte técnico para llegar al equipo de Azure Cosmos DB para la resolución.
4004 (Key Vault servicio no está disponible) Este error se produce si Azure Cosmos DB intenta acceder al Key Vault, pero el servicio no está disponible. Esto puede deberse a un problema de red para llegar a Key Vault o el propio servicio puede estar inactivo. Puede comprobar el panel de interrupción de Azure para comprobar si hay alguna interrupción existente. Estas interrupciones se resuelven normalmente en un par de horas. Es mejor que se ponga en contacto con el equipo de Key Vault y hágalo saber el problema que está viendo. Si el equipo de Key Vault encuentra que no hay ningún problema, cree una solicitud de soporte técnico para llegar al equipo de Azure Cosmos DB para la resolución.
4007 (error interno del servidor) Se trata de un error interno del servidor y se produce si los bytes de entrada no están en el formato base64.
4008 (Key Vault errores internos del servicio) Este error se produce si Azure Cosmos DB no puede acceder al Key Vault. Podría deberse a un problema de red o si el propio servicio de Key Vault está inactivo. Puede comprobar el panel de interrupción de Azure para comprobar si hay alguna interrupción existente. Estas interrupciones se resuelven normalmente en un par de horas. Es mejor que se ponga en contacto con el equipo de Key Vault y hágalo saber el problema que está viendo. Si el equipo de Key Vault detecta que no hay ningún problema, póngase en contacto con el equipo de Azure Cosmos DB para la resolución.
1013 (la operación de creación de recopilación está en curso) Si se produce una excepción de tiempo de espera al crear una colección, realice una operación de lectura para validar si la colección se ha creado correctamente. La operación de lectura emite una excepción hasta que la operación de creación de la colección se realiza correctamente. Si la operación de lectura produce una excepción con el código de estado 404 y el código de subestado 1013, significa que la operación de creación de la colección sigue en curso. Vuelva a intentar la operación de lectura hasta que obtenga códigos de estado 200 o 201. Estos códigos le permiten saber que la colección se ha creado correctamente.

Códigos de subestado para problemas de usuario final

Azure Cosmos DB admite los siguientes códigos de subestado para problemas causados por el usuario final:

Código de subestado Descripción
4002 (Key Vault no concede permiso a Azure AD o la clave está deshabilitada) Este problema se produce si ha quitado la identidad de Azure Cosmos DB de las directivas de acceso de Key Vault o si ha deshabilitado la clave. Este problema suele deberse al usuario final. Si se produce este error, asegúrese de que Azure Cosmos DB tiene acceso a la Key Vault y que la clave está habilitada.
4003 (no se encuentra la clave) Este problema se produce si la clave se elimina del Key Vault. Este problema suele deberse al usuario final. Uno de los requisitos previos para usar Azure Cosmos DB con claves administradas por el cliente es que el Key Vault tiene habilitada la eliminación temporal y la protección de purga. Esto significa que puede recuperar la clave eliminada y restaurar el acceso a Azure Cosmos DB.
4005 (No se puede encapsular o desencapsular la clave) Este error se produce si el Key Vault no puede encapsular o desencapsular la clave. Este problema suele deberse al usuario final. Una de las posibles causas de este error es que el Key Vault no pudo descodificar el blob cifrado mediante la clave más reciente porque ha girado la clave. Para resolver este error, habilite las claves deshabilitadas recientemente y se resolverá en aproximadamente una hora. Si el problema no se resuelve después de más de 2 horas, pase el problema a Azure Cosmos DB.
4006 (La dirección URL de la clave no es válida) Este error se produce durante el aprovisionamiento si ha incluido la versión de la clave en la dirección URL de Key Vault. Este error suele deberse al usuario final. Para resolver este error, quite la versión e inténtelo de nuevo. Por ejemplo, si ha usado la dirección URL con el formato https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/<KeyVersion>, actualícela a . https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/
4009 (no se puede resolver Key Vault nombre DNS) Este error se produce si no se pudo resolver el nombre DNS de Key Vault, porque ha usado el nombre de Key Vault incorrecto. Este error se debe al usuario final. Para resolverlo, corrija el nombre Key Vault e inténtelo de nuevo.

Consulte también