HTTP 状态代码 409 表示请求在处理时发生冲突。
分区键冲突
Azure Cosmos DB 使用基于哈希的分区方案来实现数据水平缩放。 2019 年 5 月 3 日之前创建的所有 Azure Cosmos DB 容器都使用基于分区键的前 101 字节计算哈希的哈希函数。 如果有多个分区键的前 101 个字节相同,则服务将这些逻辑分区视为同一逻辑分区,这会创建分区键冲突。 这可能会导致分区键冲突、分区大小配额不正确、跨分区键错误应用的唯一索引以及存储分布不均衡等问题。 用户可能会在创建文档时收到错误“ID 的资源已经存在,与哈希分区键冲突,错误代码 409”。请尝试使用不同的分区键重试。 引入了大型分区键来解决此问题。 Azure Cosmos DB 现在支持最大值为 2 KB 的大型分区键。
启用增强版本的哈希函数支持大型分区键,该函数可以从最大 2 KB 的大型分区键生成唯一哈希。
解决方案
使用 大型分区键。 只能在创建容器时启用大型分区键。 如果现有容器不使用大型分区键,则必须创建新容器并将数据迁移到该容器。