Azure Cosmos DB で Spring Data Apache Cassandra API を使用する方法How to use Spring Data Apache Cassandra API with Azure Cosmos DB

概要Overview

この記事では、Spring Data を使用して、Azure Cosmos DB Cassandra API を使って情報を格納および取得するサンプル アプリケーションを作成する方法を説明します。This article demonstrates creating a sample application that uses Spring Data to store and retrieve information using the Azure Cosmos DB Cassandra API.

前提条件Prerequisites

この記事の手順を実行するには、次の前提条件を満たす必要があります。The following prerequisites are required in order to complete the steps in this article:

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

Azure Portal を使用して Cosmos DB アカウントを作成するCreate a Cosmos DB account using the Azure Portal

注意

Azure Cosmos DB アカウントの作成に関する詳細については、Azure Cosmos DB のドキュメントを参照してください。You can read more detailed information about creating Azure Cosmos DB accounts in Azure Cosmos DB Documentation.

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [+ リソースの作成] をクリックし、 [データベース][Azure Cosmos DB] の順にクリックします。Click +Create a resource, then Databases, and then click Azure Cosmos DB.

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

  3. 次の情報を指定します。Specify the following information:

    • サブスクリプション:使用する Azure サブスクリプションを指定します。Subscription: Specify your Azure subscription to use.
    • [リソース グループ] :新しいリソース グループを作成するのか、既存のリソース グループを選択するのかを指定します。Resource group: Specify whether to create a new resource group, or choose an existing resource group.
    • アカウント名:Cosmos DB アカウント用に一意の名前を選択します。この名前は、wingtiptoyscassandra.documents.azure.com のような完全修飾ドメイン名の作成に使用されます。Account name: Choose a unique name for your Cosmos DB account; this will be used to create a fully-qualified domain name like wingtiptoyscassandra.documents.azure.com.
    • API:このチュートリアルでは、Cassandra を指定します。API: Specify Cassandra for this tutorial.
    • [場所] :データベースに最も近い地理的リージョンを指定します。Location: Specify the closest geographic region for your database.

    Cosmos DB アカウントの設定を指定する

  4. 上記の情報をすべて入力したら、 [レビュー + 作成] をクリックします。When you have entered all of the above information, click Review + create.

  5. レビュー ページに問題がなければ、 [作成] をクリックします。If everything looks correct on the review page, click Create.

    Cosmos DB アカウントの設定を確認する

Azure Cosmos DB アカウントにキースペースを追加するAdd a keyspace to your Azure Cosmos DB account

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [すべてのリソース] をクリックしてから、先ほど作成した Azure Cosmos DB アカウントをクリックします。Click All Resources, then click the Azure Cosmos DB account you just created.

    Azure Cosmos DB アカウントを選択する

  3. [データ エクスプローラー] をクリックし、 [New Keyspace](新しいキースペース) をクリックします。Click Data Explorer, then click New Keyspace. [Keyspace id](キースペース ID) に一意の識別子を入力し、 [OK] をクリックします。Enter a unique identifier for your Keyspace id, then click OK.

    Cosmos DB キースペースを作成する

Azure Cosmos DB アカウントの接続の設定を取得するRetrieve the connection settings for your Azure Cosmos DB account

  1. Azure portal (https://portal.azure.com/) を参照し、サインインします。Browse to the Azure portal at https://portal.azure.com/ and sign in.

  2. [すべてのリソース] をクリックしてから、先ほど作成した Azure Cosmos DB アカウントをクリックします。Click All Resources, then click the Azure Cosmos DB account you just created.

    Azure Cosmos DB アカウントを選択する

  3. [接続文字列] をクリックし、 [コンタクト ポイント][ポート][ユーザー名] 、および [プライマリ パスワード] の各フィールドの値をコピーします。これらの値は、アプリケーションを構成するために後で使用します。Click Connection strings, and copy the values for the Contact Point, Port, Username, and Primary Password fields; you will use those values to configure your application later.

    Cosmos DB の接続設定を取得する

サンプル アプリケーションを構成するConfigure the sample application

  1. コマンド シェルを開き、次の例のように git コマンドを使用してサンプル プロジェクトを複製します。Open a command shell and clone the sample project using a git command like the following example:

    git clone https://github.com/Azure-Samples/spring-data-cassandra-on-azure.git
    
  2. サンプル プロジェクトの resources ディレクトリ内で application.properties ファイルを探すか、まだ存在しない場合はファイルを作成します。Locate the application.properties file in the resources directory of the sample project, or create the file if it does not already exist.

  3. テキスト エディターで application.properties ファイルを開き、このファイルに次の行を追加するか構成して、サンプルの値を前半の該当する値に置き換えます。Open the application.properties file in a text editor, and add or configure the following lines in the file, and replace the sample values with the appropriate values from earlier:

    spring.data.cassandra.contact-points=wingtiptoyscassandra.cassandra.cosmosdb.azure.com
    spring.data.cassandra.port=10350
    spring.data.cassandra.username=wingtiptoyscassandra
    spring.data.cassandra.password=********
    

    各値の説明:Where:

    パラメーターParameter 説明Description
    spring.data.cassandra.contact-points この記事の前半のコンタクト ポイントを指定します。Specifies the Contact Point from earlier in this article.
    spring.data.cassandra.port この記事の前半のポートを指定します。Specifies the Port from earlier in this article.
    spring.data.cassandra.username この記事の前半のユーザー名を指定します。Specifies your Username from earlier in this article.
    spring.data.cassandra.password この記事の前半のプライマリ パスワードを指定します。Specifies your Primary Password from earlier in this article.
  4. application.properties ファイルを保存して閉じます。Save and close the application.properties file.

サンプル アプリケーションをパッケージ化してテストするPackage and test the sample application

  1. サンプル アプリケーションを Maven でビルドします。次に例を示します。Build the sample application with Maven; for example:

    mvn clean package
    
  2. サンプル アプリケーションを開始します。次に例を示します。Start the sample application; for example:

    java -jar target/spring-data-cassandra-on-azure-0.1.0-SNAPSHOT.jar
    
  3. 次の例のように、コマンド プロンプトから curl を使用して新しいレコードを作成します。Create new records using curl from a command prompt like the following examples:

    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
    

    アプリケーションから次のような値が返されます。Your application should return values like the following:

    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 を使用して既存のすべてのレコードを取得します。Retrieve all of the existing records using curl from a command prompt like the following examples:

    curl -s http://localhost:8080/pets
    

    アプリケーションから次のような値が返されます。Your application should return values like the following:

    [{"id":"60fa8cb0-0423-11e9-9a70-39311962166b","name":"dog","species":"canine"},{"id":"72c1c9e0-0423-11e9-9a70-39311962166b","name":"cat","species":"feline"}]
    

まとめSummary

このチュートリアルでは、Spring Data を使用して、Azure Cosmos DB Cassandra API を使って情報を格納および取得する Java のサンプル アプリケーションを作成しました。In this tutorial, you created a sample Java application that uses Spring Data to store and retrieve information using the Azure Cosmos DB Cassandra API.

次の手順Next steps

Spring および Azure の詳細については、Azure ドキュメント センターで引き続き Spring に関するドキュメントをご確認ください。To learn more about Spring and Azure, continue to the Spring on Azure documentation center.

その他のリソースAdditional Resources

Java での Azure の使用の詳細については、「Java 開発者向けの Azure」および「Azure DevOps と Java の操作」を参照してください。For more information about using Azure with Java, see the Azure for Java Developers and the Working with Azure DevOps and Java.