Diagnosticar e solucionar problemas de exceções de solicitação incorreta no Azure Cosmos DB
APLICA-SE A: NoSQL
O código de status HTTP 400 representa que a solicitação contém dados inválidos ou está faltando parâmetros necessários.
Falta a propriedade ID
Nesse cenário, é comum ver o erro:
O conteúdo de entrada é inválido porque as propriedades necessárias - 'id; ' - estão faltando
Uma resposta com esse erro significa que o documento JSON que está sendo enviado para o serviço não tem a propriedade ID necessária.
Solução
Especifique uma id
propriedade com um valor de cadeia de caracteres de acordo com a especificação REST como parte do documento, os SDKs não geram automaticamente valores para essa propriedade.
Tipo de chave de partição inválido
Nesse cenário, é comum ver erros como:
Chave de partição ... é inválida.
Uma resposta com este erro significa que o valor da chave de partição é de um tipo inválido.
Solução
O valor da chave de partição deve ser uma cadeia de caracteres ou um número, certifique-se de que o valor é dos tipos esperados.
Valor da chave de partição errado
Nesse cenário, é comum ver estes erros:
O código de status da resposta não indica sucesso: BadRequest (400); Substatus: 1001
PartitionKey extraído do documento não corresponde ao especificado no cabeçalho
Uma resposta com esse erro significa que você está executando uma operação e passando um valor de chave de partição que não corresponde ao valor do corpo do documento para a propriedade esperada. Se o caminho da chave de partição da coleção for /myPartitionKey
, o documento terá uma propriedade chamada myPartitionKey
com um valor que não corresponde ao que foi fornecido como valor de chave de partição ao chamar o método SDK.
Solução
Envie o parâmetro do valor da chave de partição que corresponde ao valor da propriedade do documento.
Perda de precisão do valor da chave de partição numérica
Nesse cenário, é comum ver erros como:
A chave de partição solicitada está fora do intervalo de chaves, possivelmente devido à perda de precisão do valor da chave de partição
É provável que uma resposta com esse erro seja causada por uma operação em um documento com uma chave de partição numérica cujo valor está fora do que é suportado pelo Azure Cosmos DB. Consulte Limites por item para obter o comprimento máximo do valor da propriedade numérica.
Solução
Considere usar o tipo string
para chave de partição se exigir valores numéricos precisos.
Próximos passos
- Diagnostique e solucione problemas ao usar o SDK .NET do Azure Cosmos DB.
- Saiba mais sobre as diretrizes de desempenho para .NET v3 e .NET v2.
- Diagnostique e solucione problemas ao usar o SDK Java v4 do Azure Cosmos DB.
- Saiba mais sobre as diretrizes de desempenho para Java v4 SDK.