python - "Get"来自 cosmosdb 的 id 文档(不知道 _rid)

标签 python rest python-requests azure-cosmosdb

正如 MS 支持人员最近告诉我的那样,使用“GET”在 RU 的使用方面比 SQL 查询要高效得多。我想知道是否可以(在 azure.cosmos python 包中或对 REST API 的自定义 HTTP 请求中)通过其唯一的“id”字段(我为其生成了 GUID)获取文档,而无需 SQL 查询。

显示的每个示例都使用文档的链接/路径,该链接/路径是使用文档的“_rid”元数据构建的,而不是创建文档时设置的“id”字段。

我使用自己编写的批量 upsert 存储过程来创建新文档,并且从不检索每个文档的元数据(我有大约 1 亿个文档),因此检索 _rid 相当于检索文档本身。

最佳答案

ReadDocument 方法比 SQL 查询高效得多的原因是它使用 _rid 而不是用户生成的字段,甚至是必需的 id 字段。这是因为 _rid 不仅仅是一个唯一值,它还是 encodes information关于该文档的物理存储位置。

举个例子来说明其工作原理,假设您正在向某人解释本周末的聚会地点。您可以使用房屋名称“我的 friend Ryan's house”,也可以使用地址“123 ThatOne Street Somewhere, WA 11111”。它们都是唯一的标识符,但对于试图到达那里的人来说,其中一个比另一个更有效。

告诉某人去你 friend 家就像使用你自己的id。它确实映射到一个特定的房子,但人们仍然需要找出该房子的实际位置才能到达那里。使用地址就像使用 _rid 字段一样。仅根据该信息,他们就可以到达聚会地点。当然,在现实世界中,人们可能需要指导,但数据库中的数据存储比大多数城市街道更有组织性,因此地址足以检索文档。

如果您想利用此方法,您需要找到一种使用 _rid 字段的方法。

关于python - "Get"来自 cosmosdb 的 id 文档(不知道 _rid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57275409/

相关文章:

python - 如何验证 Amazon Kinesis Python 客户端是否正常工作

python - 稀疏(刚度)矩阵的高性能创建

具有函数值的 Python 3 枚举

rest - CORS 与 3scale

php - Laravel 从 REST API 检索数据

Python Requests 库在日志记录中抛出异常

python - POST 请求后获取响应/返回值(python 请求)

python - 在 Python 3.x 上运行 Python 2.7 项目? (TIA 封装相关问题)

rest - 在 Falcon REST 中解码 JSON 文件上传

python - 有没有更快的方法来检查众多网站的可用性