诊断和排查 Azure Cosmos DB 中的“错误的请求”异常

适用范围: NoSQL

HTTP 状态代码 400 表示请求包含无效数据,或缺少必需的参数。

缺少 ID 属性

在此情况下,经常会出现以下错误:

“输入内容无效,因为缺少必需属性 - 'id;'”

响应中包含此错误意味着发送到服务的 JSON 文档缺少必需的 ID 属性。

解决方案

根据 REST 规范指定一个使用字符串值的 id 属性作为文档的一部分,SDK 不会自动生成此属性的值。

无效的分区键类型

在此情况下,经常会出现类似于下面的错误:

“分区键 ... 无效。”

响应中包含此错误意味着分区键值的类型无效。

解决方案

分区键的值应是字符串或数字,请确保值采用预期的类型。

错误的分区键值

在此情况下,经常会出现以下错误:

响应状态代码不指示成功:BadRequest (400);子状态:1001

“从文档中提取的 PartitionKey 与头中指定的 PartitionKey 不匹配”

响应中包含此错误意味着你在执行某项操作时,传递的分区键值与文档中预期属性的正文值不匹配。 如果集合的分区键路径为 /myPartitionKey,则文档中会包含一个名为 myPartitionKey 的属性,其值与调用 SDK 方法时作为分区键值提供的值不匹配。

解决方案

发送与文档属性值匹配的分区键值参数。

后续步骤