Azure Cosmos DB SQL API:Spring Data Azure Cosmos DB v3 示例

适用于: SQL API

重要

这些发行说明适用于 Spring Data Azure Cosmos DB 的版本 3。 可以在此处找到版本 2 的发行说明

Spring Data Azure Cosmos DB 仅支持 SQL API。

重要

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

可以创建一个 Azure Cosmos DB 免费层帐户,你将在帐户中获得前 400 RU/s 的免费吞吐量和 5 GB 的免费存储。 还可以使用 URI 为 https://localhost:8081Azure Cosmos DB 模拟器。 有关在模拟器中使用的密钥,请参阅对请求进行身份验证

azure-spring-data-cosmos-java-sql-api-samples GitHub 存储库中包含可对 Azure Cosmos DB 资源执行 CRUD 操作和其他常见操作的最新示例应用程序。 本文将提供:

  • 每个示例 Spring Data Azure Cosmos DB 项目文件中各项任务的链接。
  • 指向相关的 API 参考内容的链接。

先决条件

需要以下条件才能运行此示例应用程序:

  • Java 开发工具包 8
  • Spring Data Azure Cosmos DB v3

可以选择使用 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-data-cosmos-java-sql-api-samples

$ cd azure-spring-data-cosmos-java-sql-api-samples

可以使用 IDE(Eclipse、IntelliJ 或 VSCODE)或使用 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 文档,请参阅概念性文章:使用数据库、容器和项

任务 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 进行容量规划? 可以使用有关现有数据库群集的信息进行容量规划。