Partilhar via


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