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] を選択します。

  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 アカウントにキースペースを追加する

  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 の操作」を参照してください。