Diagnosticare e risolvere le eccezioni di richieste non valide in Azure Cosmos DB
SI APPLICA A: NoSQL
Il codice di stato HTTP 400 indica che la richiesta contiene dati non validi o che mancano parametri obbligatori.
Proprietà ID mancante
In questo scenario è comune vedere l'errore:
Il contenuto di input non è valido perché mancano le proprietà obbligatorie 'id; '
Una risposta con questo errore indica che nel documento JSON inviato al servizio manca la proprietà ID obbligatoria.
Soluzione
Specificare una proprietà id
con un valore stringa in base alla specifica REST come parte del documento, perché gli SDK non generano automaticamente i valori per questa proprietà.
Tipo di chiave di partizione non valido
In questo scenario è comune vedere errori come:
La chiave di partizione ... non è valida.
Una risposta con questo errore indica che il valore della chiave di partizione è di un tipo non valido.
Soluzione
Il valore della chiave di partizione deve essere una stringa o un numero; assicurarsi che il valore sia dei tipi previsti.
Valore della chiave errato
In questo scenario è comune vedere questi errori:
Il codice di stato della risposta non indica la riuscita dell'operazione: Richiesta non valida (400); Stato secondario 1001
La chiave di partizione estratta dal documento non corrisponde a quella specificata nell'intestazione
Una risposta con questo errore indica che si sta eseguendo un'operazione e passando un valore della chiave di partizione che non corrisponde al valore del corpo del documento per la proprietà prevista. Se il percorso della chiave di partizione della raccolta è /myPartitionKey
, il documento include una proprietà denominata myPartitionKey
con un valore che non corrisponde a quello specificato come valore della chiave di partizione quando è stato chiamato il metodo SDK.
Soluzione
Inviare il parametro del valore della chiave di partizione corrispondente al valore della proprietà del documento.
Perdita di precisione del valore della chiave di partizione numerica
In questo scenario è comune vedere errori come:
La chiave di partizione richiesta non rientra nell'intervallo di chiavi, probabilmente a causa della perdita di precisione del valore della chiave di partizione
È probabile che una risposta con questo errore sia causata da un'operazione in un documento con una chiave di partizione numerica il cui valore non è supportato da Azure Cosmos DB. Vedere Limiti per elemento per la lunghezza massima del valore della proprietà numerica.
Soluzione
È consigliabile usare il tipo string
per la chiave di partizione se è necessario un valore numerico preciso.
Passaggi successivi
- Diagnosticare e risolvere i problemi che si verificano durante l'uso di .NET SDK per Azure Cosmos DB.
- Informazioni sulle linee guida sulle prestazioni per .NET v3 e .NET v2.
- Diagnosticare e risolvere i problemi che si verificano durante l'uso di Java v4 SDK per Azure Cosmos DB.
- Informazioni sulle linee guida sulle prestazioni per Java v4 SDK.