Azure Cosmos DB for Apache Cassandra で Spring Data を使用する方法

この記事では、Azure Cosmos DB for Apache CassandraSpring Data を使用して、データを格納および取得するサンプル Java アプリケーションを作成する方法について説明します。

前提 条件

Azure Cosmos DB アカウントを作成する

次の手順では、Azure portal で Azure Cosmos DB アカウントを作成して構成します。

Azure ポータルを使用してAzure Cosmos DB アカウントを作成する

手記

アカウントの作成の詳細については、Azure Cosmos DBドキュメントを参照してください

  1. https://portal.azure.com/ で Azure portal に移動し、サインインします。

  2. [リソースの作成] を選択し、[はじめに] を選択し、Azure Cosmos DBを選択します

  3. [API オプションの選択] 画面で、[Cassandra] を選択します。

    Cassandra が選択されている Azure ポータル API オプション ページのスクリーンショット。

  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 portal に移動し、サインインします。

  2. [すべてのリソース] を選択し、作成したAzure Cosmos DBアカウントを選択します。

  3. Data Explorer選択し、下矢印を選択して、[新しいキースペース] を選択します。 キースペース ID の一意の識別子を入力し、[OK] を選択します。

    [新しいキースペース] オプションが選択されているData Explorerのスクリーンショット。

    Azure Cosmos DBキースペースの作成に使用されるダイアログのスクリーンショット。

Azure Cosmos DB アカウントの接続設定を取得する

  1. https://portal.azure.com/ で Azure portal に移動し、サインインします。

  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. サンプル プロジェクトの resources ディレクトリ内で 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"}]
    

概要

このチュートリアルでは、Spring Data を使用して Apache Cassandra のAzure Cosmos DBを使用して情報を格納および取得するサンプル Java アプリケーションを作成しました。

リソースのクリーンアップ

リソースが不要になったら、Azure ポータルを使用してリソースを削除します。 リソースを削除すると、予期しない料金を回避するのに役立ちます。

次の手順

Spring と Azure の詳細については、Spring on Azure ドキュメント センターに進んでください。

関連項目

Java での Azure の使用の詳細については、Java 開発者向け Azure と、Azure DevOps と Javaの使用に関する を参照してください。