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

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

前提条件

  • Git クライアント。

  • cURL または機能をテストするための類似の HTTP ユーティリティ。

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

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

Azure Portal を使用して Azure Cosmos DB アカウントを作成する

Note

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

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。

  2. [リソースの作成] を選択し、 [作業の開始] を選択して、 [Azure Cosmos DB] を選択します。

    Azure portal、リソースを作成する、Azure Cosmos DB を検索。

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

    Azure portal、リソースを作成する、API オプションの選択、Cassandra を選択。

  4. 次の情報を指定します。

    • サブスクリプション:使用する Azure サブスクリプションを指定します。
    • [リソース グループ] :新しいリソース グループを作成するのか、既存のリソース グループを選択するのかを指定します。
    • アカウント名: Azure Cosmos DB アカウントの一意の名前を選択します。この名前は、 wingtiptoyscassandra.documents.azure.com などの完全修飾ドメイン名を作成するために使用されます。
    • API:このチュートリアルでは Cassandra を指定します。
    • [場所] :データベースに最も近い地理的リージョンを指定します。

    Azure Cosmos DB アカウントの設定を指定します。

  5. 上記のすべての情報を入力したら、[ 確認と作成] をクリックします。

  6. レビュー ページに問題がなければ、 [作成] をクリックします。

    Azure Cosmos DB アカウントの設定を確認します。

データベースのデプロイには数分かかります。

Azure Cosmos DB アカウントにキースペースを追加する

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。

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

  3. [データ エクスプローラー] を選択し、下矢印を選択して [新しいキースペース] を選択します。 [キースペース ID] に一意の識別子を入力し、 [OK] を選択します。

    新しいキースペースを選択します。

    Azure Cosmos DB キースペースを作成します。

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

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。

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

  3. [ 接続文字列] を選択し、[ 連絡先ポイント]、[ ポート]、[ ユーザー名]、[ プライマリ パスワード ] フィールドの値をコピーします。これらの値を使用して、後でアプリケーションを構成します。

    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 を使用して Azure Cosmos DB for Apache Cassandra を使用して情報を格納および取得するサンプル Java アプリケーションを作成しました。

リソースをクリーンアップする

予想外の課金を防ぐために、この記事で作成したリソースが不要になったら、Azure portal を使用して削除してください。

次のステップ

Spring および Azure の詳細については、Azure ドキュメント センターで引き続き Spring に関するドキュメントをご確認ください。

こちらもご覧ください

Java での Azure の使用の詳細については、「Java 開発者向けの Azure」および「Azure DevOps と Java の操作」を参照してください。