クイック スタート:Azure Cosmos DB の MongoDB API と Java を使ってコンソール アプリを作成するQuickstart: Create a console app with Java and the MongoDB API in Azure Cosmos DB

このクイックスタートでは、Azure portal から Azure Cosmos DB for MongoDB API アカウントを作成、管理し、GitHub からクローンした Java SDK アプリを使用してデータを追加します。In this quickstart, you create and manage an Azure Cosmos DB for MongoDB API account from the Azure portal, and add data by using a Java SDK app cloned from GitHub. Azure Cosmos DB は、マルチモデル データベース サービスです。グローバルな分散と水平方向のスケーリング機能を備えたドキュメント データベースやテーブル データベース、キーと値のデータベース、グラフ データベースをすばやく作成し、クエリを実行することができます。Azure Cosmos DB is a multi-model database service that lets you quickly create and query document, table, key-value, and graph databases with global distribution and horizontal scale capabilities.

前提条件Prerequisites

データベース アカウントの作成Create a database account

  1. 新しいブラウザー ウィンドウで、Azure Portal にサインインします。In a new browser window, sign in to the Azure portal.

  2. 左側のメニューで、 [リソースの作成] を選択します。In the left menu, select Create a resource.

    Azure portal でリソースを作成する

  3. [新規] ページで、 [データベース] > [Azure Cosmos DB] の順に選択します。On the New page, select Databases > Azure Cosmos DB.

    Azure Portal の [データベース] ウィンドウ

  4. [Azure Cosmos DB アカウントの作成] ページで、新しい Azure Cosmos DB アカウントの設定を入力します。On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    設定Setting ValueValue 説明Description
    サブスクリプションSubscription 該当するサブスクリプションYour subscription この Azure Cosmos DB アカウントに使用する Azure サブスクリプションを選択します。Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    リソース グループResource Group 新規作成Create new

    アカウント名と同じ名前を入力しますThen enter the same name as Account Name
    [新規作成] を選択します。Select Create new. その後、自分のアカウントの新しいリソース グループの名前を入力します。Then enter a new resource group name for your account. 簡略化のため、Azure Cosmos DB アカウント名と同じ名前を使用します。For simplicity, use the same name as your Azure Cosmos DB account name.
    アカウント名Account Name 一意の名前を入力しますEnter a unique name 自分の Azure Cosmos DB アカウントを識別するための一意の名前を入力します。Enter a unique name to identify your Azure Cosmos DB account. アカウント URI は、一意のアカウント名に mongo.cosmos.azure.com が追加されたものになります。Your account URI will be mongo.cosmos.azure.com appended to your unique account name.

    アカウント名に使用できるのは、小文字、数字、ハイフン (-) のみで、長さは 3 文字から 31 文字の範囲にする必要があります。The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI Mongo DB 用 Azure Cosmos DB APIAzure Cosmos DB for Mongo DB API API によって、作成するアカウントの種類が決まります。The API determines the type of account to create. Azure Cosmos DB には、5 種類の API が用意されています。ドキュメント データベース用の Core(SQL)、グラフ データベース用の Gremlin、ドキュメント データベース用の MongoDB 用 Azure Cosmos DB API、Azure Table、Cassandra です。Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, Azure Cosmos DB for Mongo DB API for document databases, Azure Table, and Cassandra. 現在は、API ごとに別のアカウントを作成する必要があります。Currently, you must create a separate account for each API.

    このクイックスタートでは MongoDB に対応するコレクションを作成するので、MongoDB 用 Azure Cosmos DB API を選択します。Select Azure Cosmos DB for Mongo DB API because in this quickstart you are creating a collection that works with MongoDB.

    MongoDB 用 Azure Cosmos DB API の詳細を確認してくださいLearn more about Azure Cosmos DB for MongoDB API.
    場所Location ユーザーに最も近いリージョンを選択Select the region closest to your users Azure Cosmos DB アカウントをホストする地理的な場所を選択します。Select a geographic location to host your Azure Cosmos DB account. データに最も高速にアクセスできる、ユーザーに最も近い場所を使用します。Use the location that's closest to your users to give them the fastest access to the data.

    [確認および作成] を選択します。Select Review+Create. [ネットワーク] セクションと [タグ] セクションはスキップできます。You can skip the Network and Tags section.

    Azure Cosmos DB の新しいアカウント ページ

  5. アカウントの作成には数分かかります。The account creation takes a few minutes. ポータルに "MongoDB 用 Azure Cosmos DB API アカウントの準備ができました ページが表示されるまで待ちます。Wait for the portal to display the Congratulations! Your Azure Cosmos DB for Mongo DB API account is ready page.

    Azure Portal の [通知] ウィンドウ

コレクションの追加Add a collection

新しいデータベースに db、新しいコレクションに coll という名前を付けます。Name your new database db, and your new collection coll.

Azure portal でデータ エクスプローラー ツールを使用してデータベースとコンテナーを作成できるようになりました。You can now use the Data Explorer tool in the Azure portal to create a database and container.

  1. [データ エクスプローラー] > [新しいコンテナー] の順に選択します。Select Data Explorer > New Container.

    [コンテナーの追加] 領域が右端に表示されます。表示するには、右へスクロールする必要がある場合があります。The Add Container area is displayed on the far right, you may need to scroll right to see it.

    Azure portal の [データ エクスプローラー] の [コンテナーの追加] ウィンドウ

  2. [コンテナーの追加] ページで、新しいコンテナーの設定を入力します。In the Add container page, enter the settings for the new container.

    設定Setting 推奨値Suggested value 説明Description
    [データベース ID]Database ID 処理手順Tasks 新しいデータベースの名前としてタスクを入力します。Enter Tasks as the name for the new database. データベース名は 1 文字以上 255 文字以内にする必要があります。/, \\, #, ? は使えず、末尾にスペースを入れることもできません。Database names must contain from 1 through 255 characters, and they cannot contain /, \\, #, ?, or a trailing space. [Provision database throughput](データベース スループットをプロビジョニングする) オプションをオンにすると、データベースにプロビジョニングされたスループットをデータベース内のすべてのコンテナーにわたって共有できます。Check the Provision database throughput option, it allows you to share the throughput provisioned to the database across all the containers within the database. このオプションは、コストの削減にも役立ちます。This option also helps with cost savings.
    スループットThroughput 400400 スループットを 400 要求ユニット/秒 (RU/秒) のままにします。Leave the throughput at 400 request units per second (RU/s). 待ち時間を短縮する場合、後でスループットをスケールアップできます。If you want to reduce latency, you can scale up the throughput later.
    コンテナー IDContainer ID アイテムItems 新しいコンテナーの名前として「アイテム」と入力します。Enter Items as the name for your new container. コンテナー ID には、データベース名と同じ文字要件があります。Container IDs have the same character requirements as database names.
    パーティション キーPartition key /category/category この記事で説明するサンプルでは、 /category をパーティション キーとして使用します。The sample described in this article uses /category as the partition key.

    上記の設定に加え、必要に応じて、このコンテナー用に一意なキーを追加できます。In addition to the preceding settings, you can optionally add Unique keys for the container. この例では、このフィールドを空のままにしましょう。Let's leave the field empty in this example. 一意なキーを使用すると、開発者はデータベースにデータ整合性のレイヤーを追加できます。Unique keys provide developers with the ability to add a layer of data integrity to the database. コンテナーの作成中に一意キー ポリシーを作成すると、パーティション キーごとに 1 つ以上の値の一意性が保証されます。By creating a unique key policy while creating a container, you ensure the uniqueness of one or more values per partition key. 詳細については、記事「Azure Cosmos DB における一意なキー」を参照してください。To learn more, refer to the Unique keys in Azure Cosmos DB article.

    [OK] を選択します。Select OK. 新しいデータベースとコンテナーがデータ エクスプローラーに表示されます。The Data Explorer displays the new database and container.

サンプル アプリケーションの複製Clone the sample application

それでは、GitHub からアプリを複製し、接続文字列を設定して実行しましょう。Now let's clone an app from GitHub, set the connection string, and run it. プログラムでデータを処理することが非常に簡単であることがわかります。You'll see how easy it is to work with data programmatically.

  1. コマンド プロンプトを開いて git-samples という名前の新しいフォルダーを作成し、コマンド プロンプトを閉じます。Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. git bash などの git ターミナル ウィンドウを開いて、cd コマンドを使用して、サンプル アプリをインストールする新しいフォルダーに変更します。Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. 次のコマンドを実行して、サンプル レポジトリを複製します。Run the following command to clone the sample repository. このコマンドは、コンピューター上にサンプル アプリのコピーを作成します。This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-getting-started.git
    
  4. 次に、使い慣れたエディターでコードを開きます。Then open the code in your favorite editor.

コードの確認Review the code

この手順は省略可能です。This step is optional. コード内のデータベース リソースの作成方法に関心がある場合は、次のスニペットを確認できます。If you're interested in learning how the database resources are created in the code, you can review the following snippets. 関心がない場合は、「接続文字列の更新」に進んでください。Otherwise, you can skip ahead to Update your connection string.

次のスニペットはすべて Program.java ファイルからのものです。The following snippets are all taken from the Program.java file.

このコンソール アプリは、MongoDB Java ドライバーを使用します。This console app uses the MongoDB Java driver.

  • DocumentClient が初期化されます。The DocumentClient is initialized.

    MongoClientURI uri = new MongoClientURI("FILLME");`
    
    MongoClient mongoClient = new MongoClient(uri);            
    
  • 新しいデータベースとコレクションが作成されます。A new database and collection are created.

    MongoDatabase database = mongoClient.getDatabase("db");
    
    MongoCollection<Document> collection = database.getCollection("coll");
    
  • MongoCollection.insertOne を使用していくつかのドキュメントが挿入されます。Some documents are inserted using MongoCollection.insertOne

    Document document = new Document("fruit", "apple")
    collection.insertOne(document);
    
  • MongoCollection.find を使用していくつかのクエリが実行されます。Some queries are performed using MongoCollection.find

    Document queryResult = collection.find(Filters.eq("fruit", "apple")).first();
    System.out.println(queryResult.toJson());       
    

接続文字列を更新するUpdate your connection string

ここで Azure Portal に戻り、接続文字列情報を取得し、アプリにコピーします。Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. Azure Cosmos DB アカウントから [クイック スタート] を選択し、Java を選択して、接続文字列をクリップボードにコピーします。From your Azure Cosmos DB account, select Quick Start, select Java, then copy the connection string to your clipboard.

  2. Program.java ファイルを開き、MongoClientURI コンストラクターの引数を接続文字列で置き換えます。Open the Program.java file, replace the argument to the MongoClientURI constructor with the connection string. これで、Azure Cosmos DB と通信するために必要なすべての情報でアプリを更新しました。You've now updated your app with all the info it needs to communicate with Azure Cosmos DB.

コンソール アプリの実行Run the console app

  1. ターミナルで mvn package を実行し、必要な npm モジュールをインストールします。Run mvn package in a terminal to install required npm modules

  2. ターミナルで mvn exec:java -D exec.mainClass=GetStarted.Program を実行し、Java アプリケーションを起動します。Run mvn exec:java -D exec.mainClass=GetStarted.Program in a terminal to start your Java application.

これで、Robomongo / Studio 3T を使用して、この新しいデータをクエリ、変更、および操作できるようになりました。You can now use Robomongo / Studio 3T to query, modify, and work with this new data.

Azure Portal での SLA の確認Review SLAs in the Azure portal

Azure portal では、Cosmos DB アカウントのスループット、ストレージ、可用性、待ち時間、および一貫性が監視されます。The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Azure Cosmos DB サービス レベル アグリーメント (SLA) に関連付けられたメトリックのグラフに、実際のパフォーマンスと比較された SLA の値が示されます。Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. この一連のメトリックによって、SLA の監視が透明化されます。This suite of metrics makes monitoring your SLAs transparent.

メトリックと SLA を確認するには:To review metrics and SLAs:

  1. Cosmos DB アカウントのナビゲーション メニューで [メトリック] を選択します。Select Metrics in your Cosmos DB account's navigation menu.

  2. [遅延時間] など、タブを選択し、右側で期間を選択します。Select a tab such as Latency, and select a timeframe on the right. グラフ上の [実際][SLA] の線を比較します。Compare the Actual and SLA lines on the charts.

    Azure Cosmos DB の一連のメトリック

  3. 他のタブでメトリックを確認します。Review the metrics on the other tabs.

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

アプリと Azure Cosmos DB アカウントの使用を完了したら、それ以上料金がかからないように、作成した Azure リソースを削除できます。When you're done with your app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. リソースを削除するには、次の手順に従います。To delete the resources:

  1. Azure portal の検索バーで、「リソース グループ」を検索して選択します。In the Azure portal Search bar, search for and select Resource groups.

  2. 一覧から、このクイック スタートで作成したリソース グループを選択します。From the list, select the resource group you created for this quickstart.

    削除するリソース グループを選択する

  3. リソース グループの [概要] ページで、 [リソース グループの削除] を選択します。On the resource group Overview page, select Delete resource group.

    リソース グループを削除します

  4. 次のウィンドウで、削除するリソース グループの名前を入力し、 [削除] を選択します。In the next window, enter the name of the resource group to delete, and then select Delete.

次のステップNext steps

このクイックスタートでは、Azure Cosmos DB API for Mongo DB アカウントを作成する方法や、データ エクスプローラーを使用してデータベースとコンテナーを追加する方法、Java コンソール アプリを使用してデータを追加する方法について説明しました。In this quickstart, you learned how to create an Azure Cosmos DB API for Mongo DB account, add a database and container using Data Explorer, and add data using a Java console app. これで、Cosmos データベースに追加のデータをインポートできます。You can now import additional data to your Cosmos database.