Bur*_*tlı 2 odata azure-cosmosdb
我们可以在 CosmosDB 上将 odata “包含”查询选项与表 api 一起使用吗?
CosmosDB sql api 支持“contains”语句,但尚不清楚我们是否可以对表 api (odata) 使用“contains”过滤器。
https://learn.microsoft.com/tr-tr/rest/api/storageservices/querying-tables-and-entities
根据文档,Azure 表存储不支持包含过滤器,但我们知道 CosmosDB 对其有本机支持。
Cosmos DB 的表 API 和 Azure 表存储都支持与https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#supported-query-中定义的完全相同的 OData 运算符。options和 contains 不在列表中,因此我们不通过 Table API 支持它。
请记住,表 API 是为那些拥有针对 Azure 表存储的现有工作代码、寻求更好的性能、地理分布等的人员而设计的。如果您正在寻找全新的功能,那么我们鼓励您研究 SQL API,而不是比 Table API 更好,因为我们在 SQL API 上持续投资。对于表 API,我们的目标只是匹配 Azure 表存储的协议功能,而不是超越它。
话虽如此,有一个解决方法。表 API 是作为 SQL API 的包装器实现的。因此可以将 SQL API 客户端指向表容器并使用普通的 SQL API 查询。但请注意,您将看到的数据格式会很奇怪。我们使用自己的内部存储约定来存储表数据。另外,请勿通过 SQL API 对表 API 容器进行任何更新/写入,因为这可能会损坏您的数据。
谢谢,
Yaron Y. Goland
Principal Program Manager
Cosmos DB, Microsoft
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1279 次 |
| 最近记录: |