我已开始使用 Azure Cosmos DB Sql Api。我发现了两个不同的Java API,它们可以用来管理这个数据库:
遵循快速入门演示后(可在Azure门户快速入门部分中获得)
我已经下载了演示代码,它依赖于:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>4.0.0-preview.1</version>
</dependency>
这个Api在这里描述:azure-cosmos。在这个Api中,我发现了一些有用的类,比如CosmosClientBuilder,CosmosContainer。
然而,在阅读了docs.microsoft.azure.com的文档后,我发现他们推荐使用com . Microsoft . azure::azure-document db:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-documentdb</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-cosmosdb</artifactId>
<version>2.6.5</version>
</dependency>
在这个Api中,我没有看到有用的CosmosClientBuilder类,并且创建与数据库的连接的方式也没什么不同。
我想知道建议使用哪种 API?它们是否服务于不同的目的?
所有这些包都是针对同一 API 的 SDK 更新,即核心 (SQL) API,建议使用该 API 以实现最佳性能和支持。
重要的是版本号。3.x.x是最新稳定的4.0是预览版,我们正在推动人们开始使用4.0。
以下是版本号与Maven工件的关系:
com.azure::azure-cosmos: v4.0.x Async/Sync (public preview)
com.microsoft.azure::azure-cosmos : v3.x.x Async/Sync (stable)
com.microsoft.azure::azure-cosmosdb : v2.x.x Async (stable)
com.microsoft.azure::azure-documentdb : v2.4.7 "Legacy" Sync, deprecated (stable)
如果您对同一SDK的许多不同Maven工件感到困惑——这发生在Azure Cosmos DB SDK迁移到主线Azure SDK存储库时;我们已经完成了一个细化包名称的过程。我们预计这将是稳定的。
com.azure::azure-cosmos是Azure Cosmos DBJavaSDK forSQLAPI新用户的推荐版本。从Maven工件(“4.0.0.preview-1”)可以看出,最新版本是v4的预览版——请在3月晚些时候留意Azure Cosmos DBJavaSDK v4 forSQLAPI的通用可用性(非预览版)版本。它将使用稍微不同的Maven工件名称。
我正在使用Microsoft.Azure.CosmosSDK(用于SQLAPI)从Azure Cosmos DB读取项目。在此SDK下,在读取项目(使用container.ReadItemAsync)时,我们可以在以下两个位置覆盖默认一致性级别(在Azure门户中的数据库级别设置): 在创建CosmosClient时,我们可以在CosmosClientOptions下指定ConistencyLev
在Azure Cosmos DB(SQL API)中,以下查询收费9356.66 RU: 相比之下,以下更复杂的查询仅收费6.84 RU: 这两个示例中的文档都非常小,具有一些属性。此外,文档集合不使用任何自定义索引策略。该集合包含105685文档。 对我来说,这听起来好像在“id”字段上没有正常工作的索引。 这怎么可能,怎么解决? 更新: 如果没有 TOP 关键字,第二个查询将收取 3516.3