Azure Cosmos DB を調べる
このラボを完了すると、Azure Cosmos DB アカウントをプロビジョニングし、サンプル データベースとコンテナーを作成し、JSON 項目を追加して表示し、SQL に似たクエリを実行してデータを取得する方法を習得できます。 Azure portal の実践的な経験を積み、Cosmos DB が柔軟な非リレーショナル データ ストレージとクエリをどのようにサポートするかを理解できます。
このラボは完了するまで、約 15 分かかります。
開始する前に
管理レベルのアクセス権を持つ Azure サブスクリプションが必要です。
Cosmos DB アカウントを作成する
Cosmos DB を使うには、Azure サブスクリプションで Cosmos DB アカウントをプロビジョニングする必要があります。 この演習では、Azure Cosmos DB for NoSQL を使う Cosmos DB のアカウントをプロビジョニングします。
-
Azure portal で、左上隅の [+ リソースの作成] を選択し、
Azure Cosmos DBを検索します。 結果で [Azure Cosmos DB] を選択し、 [作成] を選択します。
-
Azure Cosmos DB for NoSQL のタイルで、 [作成] を選びます。

ヒント:アカウントは、Cosmos DB リソースの最上位レベルです。 Azure Cosmos DB for NoSQL を選択すると、シンプルな SQL に似た照会言語を使用して JSON データの保存と照会を行うことができます。
-
次の詳細を入力して、[確認および作成] を選択します。
- ワークロードの種類: 学習
- サブスクリプション: サンドボックスを使用している場合は、[コンシェルジェ サブスクリプション] を選択します。** それ以外の場合は、ご自分の Azure サブスクリプションを選択します。
- リソース グループ: サンドボックスを使用している場合は、既存のリソース グループを選択します (この名前は、learn-xxxx… のようになります)。それ以外の場合は、任意の名前で新しいリソース グループを作成します。
- アカウント名: 一意の名前を入力します。
- [可用性ゾーン]: 無効にする
- 場所: 任意の推奨される場所を選びます
- 容量モード: プロビジョニングされたスループット
- Apply Free-Tier Discount (Free レベル割引を適用する): 使用できる場合は [適用] を選びます。
- 合計アカウント スループットを制限する: オフ
これらを選択する理由
[ワークロードの種類] を [学習] に設定しているのは、セットアップが簡単になり、コストを抑えることができる初心者向けの既定値が設定されるからです。[アカウント名] はサービスの URL の一部になるため、サービス全体で一意にする必要があります。テストをより速く実行できるよう、お客様の所在地に近い場所を選択しています。表示される場所は、お客様のサブスクリプションと、特定の可用性ゾーンが有効になっているかどうかによって変わります。[容量モード] に [プロビジョニング スループット] を選択するのは、この短期間のラボでパフォーマンスを予測可能な状態に保つためです。ただし、必要になる頻度が低い場合は [サーバーレス] でも問題ありません。Free レベルを使用できる場合は使用します。そうすることで、料金が発生することなく実験できます。 最後に、[合計アカウント スループットを制限する] 設定はオフのままにします。そうすることで、作業中に予期せず速度が低下することがなくなります。
-
構成を確認したら、[作成] を選びます。
ヒント:Azure Portal では、この CosmosDB インスタンスのプロビジョニングにかかる時間が見積もられます。 推定作成時間は、選択した場所に基づいて計算されます。
-
デプロイが完了するまで待ちます。 次に、デプロイされたリソースに移動します。
サンプル データベースの作成
“この手順全体を通して、ポータルに表示されるヒントをすべて閉じます”。**
-
新しい Cosmos DB アカウントのページの左側のペインで [Data Explorer] を選びます。
![Azure Portal Comsos DB の [Data Explorer] メニューのスクリーンショット](/DP-900T00A-Azure-Data-Fundamentals.ja-jp/Instructions/Labs/images/cosmosdb-data-explorer.png)
-
[Data Explorer] ページで、[クイック スタートの起動] を選びます。
ヒント: クイック スタートでは、実際に機能するデータベース、コンテナー、サンプル データが作成されます。そのため、最初にスキーマを設計しなくても、項目の追加やクエリの実行を演習できます。
-
[新しいコンテナー] タブで、サンプル データベースの事前に設定された値を確認して、[OK] を選びます。
-
SampleDB データベースとその SampleContainer コンテナーが作成されるまで、画面の下部にあるパネルで状態を観察します (1 分ほどかかる場合があります)。
項目の表示と作成
-
[Data Explorer] ページで SampleDB データベースと SampleContainer コンテナーを展開し、[項目] を選んでコンテナー内の項目の一覧を表示します。 項目は製品データを表し、それぞれに一意の ID と他のプロパティがあります。
![Azure Portal Comsos DB の [Data Explorer] 項目のスクリーンショット](/DP-900T00A-Azure-Data-Fundamentals.ja-jp/Instructions/Labs/images/cosmosdb-items.png)
-
一覧内の項目を選ぶと、項目データの JSON 表現が表示されます。
-
ページの上部にある [新しい項目] を選び、新しい空白の項目を作成します。
-
新しい項目の JSON を以下のように変更し、[保存] を選びます。
{ "name": "Road Helmet,45", "id": "123456789", "categoryID": "123456789", "SKU": "AB-1234-56", "description": "The product called \"Road Helmet,45\" ", "price": 48.74 }![Azure Portal Comsos DB の [Data Explorer] の [新しい項目] を示すスクリーンショット](/DP-900T00A-Azure-Data-Fundamentals.ja-jp/Instructions/Labs/images/cosmosdb-new-item.png)
-
新しい項目を保存すると、追加のメタデータ プロパティが自動的に追加されることに注意してください。
ヒント:Cosmos DB では、項目が JSON (JavaScript Object Notation) 形式で格納されるため、厳格なスキーマを指定せずにシナリオに適したフィールドを追加できます。
idはコンテナー内で一意にする必要があります。 保存すると、Cosmos DB により、データの管理と最適化に役立つシステム プロパティ (タイムスタンプや内部識別子など) が追加されます。- _rid - Cosmos DB が内部で項目を特定するために使用する内部リソース ID。**
- _self - 項目の完全なリソース リンク。**
- _etag - オプティミスティック同時実行制御チェックに使用されるエンティティ タグ。**
- _ts - 項目が最後に変更されたときの Unix タイムスタンプ (秒単位)。**
- _attachments - ドキュメントの添付ファイルへのリンク (存在する場合)。**
データベースのクエリを実行する
-
[Data Explorer] ページで、[新しい SQL クエリ] アイコンを選びます。
![Azure Portal Comsos DB の [Data Explorer] の [新しい SQL クエリ] を示すスクリーンショット](/DP-900T00A-Azure-Data-Fundamentals.ja-jp/Instructions/Labs/images/cosmosdb-new-sqlquery.png)
-
SQL クエリ エディターで既定のクエリ (
SELECT * FROM c) を確認し、SELECT * FROM cボタンを使って実行します。 -
すべての項目の完全な JSON 表現を含む結果を確認します。
-
次のように、クエリを変更します。
SELECT * FROM c WHERE CONTAINS(c.name,"Helmet")ヒント: NoSQL API は、SQL に似たなじみのあるクエリを使用して JSON ドキュメントを検索します。すべての項目を一覧表示するには
SELECT * FROM cを、プロパティ内のテキストでフィルター処理するにはCONTAINSを使用します。これは、追加のセットアップなしですばやく検索する場合に便利です。 -
[クエリの実行] ボタンを使って、修正したクエリを実行し、結果を確認します。これには、name フィールドに “Helmet” というテキストが含まれる項目の JSON エンティティが含まれます。
![Azure Portal Comsos DB の [Data Explorer] で実行された SQL クエリのスクリーンショット](/DP-900T00A-Azure-Data-Fundamentals.ja-jp/Instructions/Labs/images/cosmosdb-query.png)
-
SQL クエリ エディターを閉じ、変更内容を破棄します。
ここでは、Azure portal の Data Explorer インターフェイスを使って、Cosmos DB データベースで JSON エンティティを作成し、クエリを実行する方法について確認しました。 実際のシナリオでは、アプリケーション開発者は、数多くあるプログラミング言語固有のソフトウェア開発キット (SDK) のいずれかを使って NoSQL API を呼び出し、データベース内のデータを操作します。
ヒント: Azure Cosmos DB の確認を完了したら、この演習で作成したリソース グループを削除できます。