你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB for NoSQL:Spring Data Azure Cosmos DB v5 示例
适用范围: NoSQL
重要
这些发行说明适用于 Spring Data Azure Cosmos DB 的版本 5。 可以在此处找到版本 3和版本 2 的发行说明。
Spring Data Azure Cosmos DB 仅支持 API for NoSQL。
请参阅以下文章,了解其他 Azure Cosmos DB API 上的 Spring Data:
重要
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
- 可以激活 Visual Studio 订阅者权益:Visual Studio 订阅每月提供可用来试用付费版 Azure 服务的信用额度。
无需 Azure 订阅即可免费试用 Azure Cosmos DB,也无需缴纳承诺金。 或者,可以创建一个 Azure Cosmos DB 免费层帐户,你将在该帐户中获得前 1000 RU/s 的免费吞吐量和 25 GB 的免费存储。 还可以使用 URI 为 https://localhost:8081
的 Azure Cosmos DB 模拟器。 有关在模拟器中使用的密钥,请参阅对请求进行身份验证。
azure-spring-boot-samples GitHub 存储库中包含可对 Azure Cosmos DB 资源执行 CRUD 操作和其他常见操作的最新示例应用程序。 本文将提供:
- 每个示例 Spring Data Azure Cosmos DB 项目文件中各项任务的链接。
- 指向相关的 API 参考内容的链接。
先决条件
需要以下条件才能运行此示例应用程序:
- Java 开发工具包 8
- Spring Data Azure Cosmos DB v5
可以选择使用 Maven 获取最新的 Spring Data Azure Cosmos DB v3 二进制文件,以便在项目中使用。 Maven 会自动添加任何必需的依赖项。 否则,可以直接下载 pom.xml 文件中列出的依赖项并将它们添加到生成路径。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
运行示例应用程序
克隆示例存储库:
$ git clone https://github.com/Azure-Samples/azure-spring-boot-samples
$ cd cosmos/azure-spring-data-cosmos/spring3-samples/cosmos-quickstart-samples
可以使用 IDE(Eclipse、IntelliJ 或 VS CODE)或使用 Maven 从命令行运行示例。
必须在 application.properties 中设置这些环境变量,
cosmos.uri=${ACCOUNT_HOST}
cosmos.key=${ACCOUNT_KEY}
cosmos.secondaryKey=${SECONDARY_ACCOUNT_KEY}
dynamic.collection.name=spel-property-collection
# Populate query metrics
cosmos.queryMetricsEnabled=true
才能授予示例对你的帐户、数据库和容器进行读/写访问的权限。
你的 IDE 可能会提供执行 Spring Data 示例代码的功能。 否则,可以使用以下终端命令来执行该示例:
mvn spring-boot:run
文档 CRUD 示例
samples 文件演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 文档,请参阅概念性文章:使用数据库、容器和项。
任务 | API 参考 |
---|---|
创建文档 | CosmosRepository.save |
按 ID 读取文档 | CosmosRepository.derivedQueryMethod |
删除所有文档 | CosmosRepository.deleteAll |
派生查询方法示例
samples 文件演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 查询,可参阅 Baeldung 在 Spring 中的派生查询方法一文。
| 查询文档 | CosmosRepository.derivedQueryMethod |
自定义查询示例
samples 文件演示如何使用 SQL 查询语法执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 中的 SQL 查询引用,请参阅 Azure Cosmos DB 的 SQL 查询示例。
任务 | API 参考 |
---|---|
查询所有文档 | @Query 注释 |
使用 == 查询等式 | @Query 注释 |
使用 != 和 NOT 查询不等式 | @Query 注释 |
使用 >、<、>=、<= 等范围运算符进行查询 | @Query 注释 |
使用范围运算符对字符串进行查询 | @Query 注释 |
使用 ORDER BY 进行查询 | @Query 注释 |
使用 DISTINCT 查询 | @Query 注释 |
使用聚合函数进行查询 | @Query 注释 |
使用子文档 | @Query 注释 |
使用文档内联接进行查询 | @Query 注释 |
使用字符串、数学和数组运算符进行查询 | @Query 注释 |
后续步骤
正在尝试为迁移到 Azure Cosmos DB 进行容量计划? 可以使用有关现有数据库群集的信息进行容量规划。
- 如果只知道现有数据库群集中的 vCore 和服务器数量,请阅读使用 vCore 或 vCPU 估算请求单位
- 若知道当前数据库工作负载的典型请求速率,请阅读使用 Azure Cosmos DB 容量计划工具估算请求单位