Azure Cosmos DB for Apache Cassandra で Spring Data を使用する方法
この記事では、Spring Data を使用し、Azure Cosmos DB for Apache Cassandra を使って情報を格納および取得するサンプル アプリケーションを作成する方法について説明します。
前提条件
Azure サブスクリプション - 無料アカウントを作成します。
Java Development Kit (JDK)、バージョン 8 以降。
Azure Cosmos DB アカウントを作成する
次の手順では、Azure portal で Azure Cosmos DB アカウントを作成し、構成します。
Azure Portal を使用して Azure Cosmos DB アカウントを作成する
Note
アカウントの作成の詳細については、Azure Cosmos DB ドキュメントを参照してください。
Azure portal (https://portal.azure.com/) を参照し、サインインします。
[リソースの作成] を選択し、[作業の開始] を選択して、[Azure Cosmos DB] を選択します。
[API オプションの選択] 画面で、[Cassandra] を選択します。
次の情報を指定します。
- サブスクリプション: 使用する Azure サブスクリプションを指定します。
- リソース グループ: 新しいリソース グループを作成するか、既存のリソース グループを選択するかを指定します。
- アカウント名: Azure Cosmos DB アカウント用に一意の名前を選択します。この名前はwingtiptoyscassandra.documents.azure.com のような完全修飾ドメイン名の作成に使用されます。
- API: このチュートリアルでは Cassandra を指定します。
- 場所: データベースに最も近い地理的リージョンを指定します。
上記の情報をすべて入力したら、[確認と作成] をクリックします。
レビュー ページに問題がなければ、[作成] をクリックします。
データベースのデプロイには数分かかります。
Azure Cosmos DB アカウントにキースペースを追加する
Azure portal (https://portal.azure.com/) を参照し、サインインします。
[すべてのリソース] を選択してから、作成した Azure Cosmos DB アカウントを選択します。
[データ エクスプローラー] を選択し、下矢印を選択して [新しいキースペース] を選択します。 [キースペース ID] に一意の識別子を入力し、[OK] を選択します。
Azure Cosmos DB アカウントの接続の設定を取得する
Azure portal (https://portal.azure.com/) を参照し、サインインします。
[すべてのリソース] を選択してから、作成した Azure Cosmos DB アカウントを選択します。
[接続文字列] を選択し、[コンタクト ポイント]、[ポート]、[ユーザー名]、および [プライマリ パスワード] の各フィールドの値をコピーします。これらの値は、アプリケーションを構成するために後で使用します。
サンプル アプリケーションを構成する
次の手順に従って、テスト アプリケーションを構成します。
コマンド シェルを開き、次の例のように git コマンドを使用してサンプル プロジェクトを複製します。
git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
サンプル プロジェクトの resources ディレクトリ内で application.properties ファイルを探すか、まだ存在しない場合はファイルを作成します。
テキスト エディターで 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
この記事の前半のプライマリ パスワードを指定します。 application.properties ファイルを保存して閉じます。
サンプル アプリケーションをパッケージ化してテストする
pom.xml ファイルを含むディレクトリを参照し、アプリケーションをビルドしてテストします。
サンプル アプリケーションを Maven でビルドします。次に例を示します。
mvn clean package
サンプル アプリケーションを開始します。次に例を示します。
java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
次の例のように、コマンド プロンプトから
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'}.
次の例のように、コマンド プロンプトから
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 の操作」を参照してください。