如何将 Spring Data 与 Azure Cosmos DB for Apache Cassandra 配合使用
本文演示如何创建一个示例应用程序,该应用程序使用 Spring Data 通过 Azure Cosmos DB for Apache Cassandra 存储和检索信息。
先决条件
Azure 订阅 - 免费创建订阅。
Java 开发工具包(JDK)版本 8 或更高版本。
创建 Azure Cosmos DB 帐户
以下过程在Azure 门户中创建和配置 Azure Cosmos DB 帐户。
使用 Azure 门户创建 Azure Cosmos DB 帐户
注意
可以在 Azure Cosmos DB 文档中阅读有关创建帐户的更多详细信息。
浏览到 https://portal.azure.com/ 上的 Azure 门户并登录。
依次选择“创建资源”、“开始使用”和“Azure Cosmos DB”。
在“选择 API 选项”屏幕上,选择“Cassandra”。
指定下列信息:
- 订阅:指定要使用的 Azure 订阅。
- 资源组:指定是创建新的资源组,还是选择现有资源组。
- 帐户名称:为 Azure Cosmos DB 帐户选择唯一名称;此名称将用于创建完全限定的域名,例如 wingtiptoyscassandra.documents.azure.com。
- API:为本教程指定 Cassandra 。
- 位置:指定数据库最近的地理区域。
输入上述所有信息后,单击“ 查看 + 创建”。
如果查看页面上的所有信息看起来都是正确的,则单击“创建”。
部署数据库需要几分钟时间。
向 Azure Cosmos DB 帐户添加密钥空间
浏览到 https://portal.azure.com/ 上的 Azure 门户并登录。
选择 “所有资源”,然后选择创建的 Azure Cosmos DB 帐户。
选择“数据资源管理器”,选择向下箭头,然后选择“新建密钥空间”。 为“密钥空间 ID”输入一个唯一标识符,然后选择“确定”。
检索 Azure Cosmos DB 帐户的连接设置
浏览到 https://portal.azure.com/ 上的 Azure 门户并登录。
选择 “所有资源”,然后选择创建的 Azure Cosmos DB 帐户。
选择连接字符串,并复制“联系人点”、“端口”、“用户名”和“主密码”字段的值;稍后将使用这些值来配置应用程序。
配置示例应用程序
以下过程配置测试性应用程序。
打开一个命令 shell 并使用 git 命令克隆示例项目,如以下示例所示:
git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
在示例项目的资源目录中找到 application.properties 文件,或者创建该文件(如果尚不存在)。
在文本编辑器中打开 application.properties 文件,在文件中添加或配置以下行,并将示例值替换为上文中的相应值:
spring.data.cassandra.contact-points=wingtiptoyscassandra.cassandra.cosmos.azure.com spring.data.cassandra.port=10350 spring.data.cassandra.username=wingtiptoyscassandra spring.data.cassandra.password=********
其中:
参数 描述 spring.data.cassandra.contact-points
指定本文上文中所述的接触点。 spring.data.cassandra.port
指定本文上文中所述的端口。 spring.data.cassandra.username
指定本文上文中所述的用户名。 spring.data.cassandra.password
指定本文上文中所述的主要密码。 保存并关闭 application.properties 文件。
打包并测试示例应用程序
浏览到包含 pom.xml 文件的目录,以生成和测试应用程序。
使用 Maven 生成示例应用程序,例如:
mvn clean package
启动示例应用程序;例如:
java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
在命令提示符下使用
curl
创建新记录,如以下示例所示:curl -s -d "{\"name\":\"dog\",\"species\":\"canine\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets curl -s -d "{\"name\":\"cat\",\"species\":\"feline\"}" -H "Content-Type: application/json" -X POST http://localhost:8080/pets
应用程序应返回类似于以下示例的值:
Added Pet{id=60fa8cb0-0423-11e9-9a70-39311962166b, name='dog', species='canine'}. Added Pet{id=72c1c9e0-0423-11e9-9a70-39311962166b, name='cat', species='feline'}.
在命令提示符下使用
curl
检索所有现有记录,如以下示例所示:curl -s http://localhost:8080/pets
应用程序应返回类似于以下示例的值:
[{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
总结
在本教程中,你创建了一个示例 Java 应用程序,该应用程序使用 Spring Data 通过 Azure Cosmos DB for Apache Cassandra 存储和检索信息。
清理资源
如果不再需要,请使用 Azure 门户删除本文中创建的资源,以避免产生意外的费用。
后续步骤
若要了解有关 Spring 和 Azure 的详细信息,请继续访问“Azure 上的 Spring”文档中心。
另请参阅
有关如何将 Azure 与 Java 配合使用的详细信息,请参阅面向 Java 开发人员的 Azure 和使用 Azure DevOps 和 Java。