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

概要Overview

この記事では、Spring Data を使用して、Azure Cosmos DB MongoDB API を使って情報を格納および取得するサンプル アプリケーションを作成する方法を説明します。This article demonstrates creating a sample application that uses Spring Data to store and retrieve information using the Azure Cosmos DB MongoDB 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 アカウント用に一意の名前を選択します。この名前は、wingtiptoysmongodb.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 wingtiptoysmongodb.documents.azure.com.
    • API:このチュートリアルでは、Azure Cosmos DB for MongoDB API を指定します。API: Specify Azure Cosmos DB for MongoDB API 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 アカウントの接続文字列を取得するRetrieve the connection string 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 value for the Primary Connection String field; you will use that value 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/spring-guides/gs-accessing-data-mongodb.git
    
  2. サンプル プロジェクトの <プロジェクト ルート>/complete/src/main ディレクトリに resources ディレクトリを作成し、この resources ディレクトリに application.properties ファイルを作成します。Create a resources directory in the <project root>/complete/src/main directory of the sample project, and create an application.properties file in the resources directory.

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

    spring.data.mongodb.database=wingtiptoysmongodb
    spring.data.mongodb.uri=mongodb://wingtiptoysmongodb:AbCdEfGhIjKlMnOpQrStUvWxYz==@wingtiptoysmongodb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
    

    各値の説明:Where:

    パラメーターParameter 説明Description
    spring.data.mongodb.database この記事の前半の Cosmos DB アカウントの名前を指定します。Specifies the name of your Cosmos DB account from earlier in this article.
    spring.data.mongodb.uri この記事の前半のプライマリ接続文字列を指定します。Specifies the Primary Connection String 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, and configure Maven to skip tests; for example:

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

    java -jar target/gs-accessing-data-mongodb-0.1.0.jar
    

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

    Customers found with findAll():
    -------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    
    Customer found with findByFirstName('Alice'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customers found with findByLastName('Smith'):
    --------------------------------
    Customer[id=5c1b4ae4d0b5080ac105cc13, firstName='Alice', lastName='Smith']
    Customer[id=5c1b4ae4d0b5080ac105cc14, firstName='Bob', lastName='Smith']
    

まとめSummary

このチュートリアルでは、Spring Data を使用して、Azure Cosmos DB MongoDB 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 MongoDB 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.