如何将 Spring Data 与 Azure Cosmos DB for Apache Cassandra 配合使用

本文介绍如何将 Spring Data 与适用于 Apache Cassandra 的 Azure Cosmos DB 配合使用,以创建用于存储和检索数据的示例Java应用程序。

先决条件

  • Git 客户端。

  • cURL 或类似的 HTTP 实用工具来测试功能。

创建 Azure Cosmos DB 帐户

以下过程在 Azure 门户中创建和配置 Azure Cosmos DB 帐户。

使用 Azure 门户创建Azure Cosmos DB帐户

注意

有关创建帐户的详细信息,请参阅Azure Cosmos DB文档。

  1. 在 https://portal.azure.com/ 浏览到 Azure 门户并登录。

  2. 选择“创建资源”,选择“入门”,然后选择Azure Cosmos DB。

  3. 在选择 API 选项屏幕上,选择 Cassandra。

    Azure门户 API 选项页的屏幕截图,其中选择了 Cassandra。

  4. 指定以下信息:

    • 订阅:指定要使用的 Azure 订阅。
    • 资源组:指定是创建新的资源组还是选择现有资源组。
    • 帐户名称:为Azure Cosmos DB帐户选择唯一名称。 此名称用于创建完全限定的域名,例如 wingtiptoyscassandra.documents.azure.com。
    • API:为本教程指定 Cassandra。
    • 位置:指定数据库最近的地理区域。

    Azure门户中Azure Cosmos DB帐户设置的屏幕截图。

  5. 输入上述所有信息时,选择“ 查看 + 创建”。

  6. 如果审阅页上的所有内容看起来都正确,请选择“ 创建”。

部署数据库需要几分钟时间。

将密钥空间添加到 Azure Cosmos DB 帐户

  1. 在 https://portal.azure.com/ 浏览到 Azure 门户并登录。

  2. 选择“所有资源”,然后选择创建的Azure Cosmos DB帐户。

  3. 选择数据资源管理器,选择向下箭头,然后选择“新建密钥空间”。 输入 密钥空间 ID 的唯一标识符,然后选择“ 确定”。

    选中了“新建密钥空间”选项的数据资源管理器屏幕截图。

    用于创建Azure Cosmos DB密钥空间的对话框的屏幕截图。

检索 Azure Cosmos DB 帐户的连接设置

  1. 在 https://portal.azure.com/ 浏览到 Azure 门户并登录。

  2. 选择“所有资源”,然后选择创建的Azure Cosmos DB帐户。

  3. 选择 连接字符串,并复制 “联系人点”、“ 端口”、“ 用户名”和 “主密码 ”字段的值。 稍后可以使用这些值来配置应用程序。

    Azure门户中Azure Cosmos DB 连接字符串设置的屏幕截图。

配置示例应用程序

以下过程配置测试应用程序。

  1. 打开命令行界面并使用 git 命令克隆示例项目,如以下示例所示:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
    
  2. 在示例项目的 资源 目录中找到 application.properties 文件,或者创建该文件(如果尚不存在)。

  3. 在文本编辑器中打开 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 指定本文上文中所述的主要密码。
  4. 保存并关闭 application.properties 文件。

打包并测试示例应用程序

浏览到包含 pom.xml 文件的目录,以生成和测试应用程序。

  1. 使用 Maven 生成示例应用程序;例如:

    mvn clean package
    
  2. 启动示例应用程序;例如:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. 使用 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'}.
    
  4. 使用 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 通过适用于 Apache Cassandra 的 Azure Cosmos DB存储和检索信息。

清理资源

不再需要资源时,请使用Azure门户将其删除。 删除资源有助于避免意外费用。

后续步骤

若要了解有关 Spring 和 Azure 的详细信息,请继续阅读 Azure 上的 Spring 文档中心。

另请参阅

有关如何将 Azure 与 Java 配合使用的详细信息,请参阅面向 Java 开发人员的 Azure 和使用 Azure DevOps 和 Java。