c# - Cosmos DB 响应 404

标签 c# azure azure-cosmosdb azure-cosmosdb-sqlapi

我正在尝试使用 ReplaceItemAsync 对现有项目执行更新。

我已经添加了我的partitionKey的值,但我仍然收到错误,并且真的不确定为什么。我尝试过根本不设置分区键,而只使用 app 和 app.id,并且我还尝试将分区键设置为路径。

我已检查数据库门户,ID 匹配。

在(cosmos 门户的)第三张图片中,我尝试更新 json 我用于分区键的值是新更新的 json,并且在其中收到 404 错误。我尝试使用现有的尚未更新的 json 的值,但随后抛出了 400 bad request 错误。

图片 1: [enter image description here

图像2:
enter image description here

图3:
enter image description here

最佳答案

您收到 404 的原因是因为您使用了 item.ToString() 值,所以更新后的对象的分区键与原始对象的分区键不同。

Cosmos 不会在此分区键中找到具有提供的 ID 的项目,因此返回 404。

与 SQL 相反,cosmos 集合中的 id 只能在其分区内唯一。集合中文档的唯一标识符是 id 和分区键的组合。

关于c# - Cosmos DB 响应 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75833842/

相关文章:

html - 转换为 HTML Azure Powershell "Get-VM"

node.js - 从 NodeJS 中的 Azure Function 访问 SQL 数据库

c# - XML声音的字节格式

C# Outlook 加载项获取选定的电子邮件

azure - Azure 中通配符 SSL 证书续订的最佳实践(已固定移动应用程序)

azure - 应用程序可以使用 AD 身份验证而不是连接字符串 key 来访问 Azure Cosmos

c# - 错误 CS0006 : Metadata file 'MongoDB' could not be found

unit-testing - 在使用 Linq 查询的单元测试中模拟 IDocumentQuery

c# - 使用内存中的 SQLite 数据库在 C++ 和 C# 之间共享数据?

c# - 测试验证方法