Diagnosticar y solucionar problemas de excepciones de solicitudes erróneas en Azure Cosmos DB
SE APLICA A: NoSQL
El código de estado HTTP 400 indica que la solicitud contiene datos no válidos o que faltan parámetros necesarios.
Falta la propiedad de identificador
En este escenario, es habitual ver el siguiente error:
The input content is invalid because the required properties - 'id; ' - are missing (El contenido de entrada no es válido porque faltan las propiedades requeridas: 'id; ')
Si una respuesta muestra este error significa que el documento JSON que se envía al servicio no tiene la propiedad de identificador necesaria.
Solución
Especifique una propiedad id
con un valor de cadena que siga la especificación de REST como parte del documento. Los SDK no generan automáticamente valores para esta propiedad.
Tipo de clave de partición no válido
En este escenario, es habitual ver errores como los siguientes:
Partition key ... is invalid (La clave de partición no es válida)
Si una respuesta muestra este error significa que el valor de la clave de partición no es válido.
Solución
El valor de la clave de partición debe ser una cadena o un número. Asegúrese de que el valor sea uno de estos.
Valor incorrecto de la clave de partición
En este escenario, es habitual ver estos errores:
Response status code does not indicate success: BadRequest (400); Substatus: 1001 (El código de estado de la respuesta no indica que la operación se realizó correctamente: BadRequest (400); Substatus: 1001)
PartitionKey extracted from document doesn’t match the one specified in the header (El valor de PartitionKey extraído del documento no coincide con el especificado en el encabezado)
Una respuesta que muestre este error significa que se está ejecutando una operación y pasando un valor de clave de partición que no coincide con el valor de cuerpo del documento para la propiedad prevista. Si la ruta de la clave de partición de la recopilación es /myPartitionKey
, el documento tiene una propiedad denominada myPartitionKey
, con un valor que no coincide con el que se proporcionó como valor de clave de partición al llamar al método del SDK.
Solución
Envíe el parámetro de valor de la clave de partición que coincida con el valor de la propiedad del documento.
Pérdida de precisión del valor de clave de partición numérica
En este escenario, es habitual ver errores como los siguientes:
La clave de partición solicitada está fuera del intervalo de claves, posiblemente debido a la pérdida de precisión del valor de clave de partición
Es probable que una respuesta con este error se deba a una operación en un documento con una clave de partición numérica cuyo valor está fuera de lo que admite Azure Cosmos DB. Vea Límites por elemento para obtener la longitud máxima del valor de propiedad numérica.
Solución
Considere la posibilidad de usar el tipo string
para la clave de partición si se necesitan valores numéricos precisos.
Pasos siguientes
- Diagnóstico y solución de problemas al utilizar el SDK de Azure Cosmos DB para .NET.
- Más información sobre las directrices de rendimiento de .NET v3 y .NET v2.
- Diagnóstico y solución de problemas al utilizar el SDK de Azure Cosmos DB para Java v4.
- Obtenga información sobre las instrucciones de rendimiento del SDK para Java v4.