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

本文演示如何创建一个示例应用程序,该应用程序使用 Spring Data 通过 Azure Cosmos DB for Apache Cassandra 存储和检索信息。

先决条件

  • 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”

    Azure portal, create a resource, search for Azure Cosmos DB.

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

    Azure portal, create a resource, select API option, Cassandra selected.

  4. 指定下列信息:

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

    Specify your Azure Cosmos DB account settings.

  5. 输入上述所有信息后,单击“ 查看 + 创建”。

  6. 如果查看页面上的所有信息看起来都是正确的,则单击“创建”。

    Review your Azure Cosmos DB account settings.

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

向 Azure Cosmos DB 帐户添加密钥空间

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

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

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

    Select new keyspace.

    Create an Azure Cosmos DB keyspace.

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

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

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

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

    Retrieve your Azure Cosmos DB connection settings.

配置示例应用程序

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

  1. 打开一个命令 shell 并使用 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 通过 Azure Cosmos DB for Apache Cassandra 存储和检索信息。

清理资源

如果不再需要,请使用 Azure 门户删除本文中创建的资源,以避免产生意外的费用。

后续步骤

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

另请参阅

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