适用范围: NoSQL
HTTP 状态代码 400 指示请求包含无效数据或缺少所需的参数。
缺少 ID 属性
在这种情况下,通常会遇到错误:
“输入内容无效,因为缺少必需的属性 ”id; ' - ”
出现此错误的响应意味着发送到服务的 JSON 文档缺少所需的 ID 属性。
解决方案
在您的文档中,根据REST规范指定一个字符串值的id
属性,SDK不会自动生成此属性的值。
无效的分区键类型
在这种情况下,通常会看到如下错误:
“分区键...无效”
出现此错误的响应意味着分区键值的类型无效。
解决方案
分区键的值应为字符串或数字。 确保该值符合预期类型。
错误的分区键值
在此方案中,通常会看到以下错误:
“响应状态代码不指示成功:BadRequest (400):子状态:1001”
“从文档中提取的 PartitionKey 与标头中指定的分区键不匹配”
遇到此错误响应表示您正在执行一项操作,并传递与文档中预期属性的正文值不匹配的分区键值。 如果集合的分区键路径为 /myPartitionKey
,则文档具有一个名为 myPartitionKey
的属性,其值与调用 SDK 方法时提供的分区键值不匹配。
解决方案
发送与文档属性值匹配的分区键值参数。
数值分区键值精度损失
在这种情况下,通常会看到如下错误:
“请求的分区键超出键范围,可能是因为分区键值的精度丢失”
出现此错误的响应可能是由于对具有数值分区键的文档执行作,其值超出了 Azure Cosmos DB 支持的范围。 有关数值属性值的最大长度,请参阅 每项限制。
解决方案
如果需要精确的数值,请考虑对分区键使用类型 string
。