Azure Cosmos DB を Python と .NET の2つのSDKで操作する

Cosmos DB(NoSQL API)を作成し、Cloud Shell から Python SDK と .NET SDK の両方でアイテムの作成・読み取り・クエリを行って、2つの言語の書き味の違いを体験します。

中級約 75 分Azure 実環境

ラボ概要

同じデータベースに対して、Python と C# はそれぞれどんな手触りでコードを書かせるのか。Cosmos DB の SDK は言語ごとに設計思想が異なり、片方しか触っていないと「Cosmos の SDK とはこういうもの」という偏った像を持ちがちです。

このラボでは Cosmos DB(NoSQL API)を手動スループット 400 RU/s で1つ用意し、ひとつのコンテナに対して Python SDK(azure-cosmos)と .NET SDK(Microsoft.Azure.Cosmos)の両方からアイテムを書き込み・読み取り・クエリします。Python の辞書ベースの素朴な API と、.NET のレコード型と非同期を前面に出した API を並べて書くと、パーティションキーの渡し方やクエリの組み立て方の違いがはっきり見えてきます。Cloud Shell には両方のランタイムが入っているので、ローカル環境の用意は不要です。

学習者は Contributor 相当の一時ユーザーで Portal にサインイン済みで、リージョンは japaneast、単一リソースグループの中だけで作業します。

ラボの構成

  1. 1Cosmos DB アカウントを作成する
  2. 2Cloud Shell を起動して接続情報を確認する
  3. 3データベースとコンテナを作成する
  4. 4Python SDK でアイテムを操作する
  5. 5.NET SDK で同じ操作をする
  6. 6Data Explorer で結果を確認する
  7. 7動作確認
  8. 8後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

手順のプレビュー(最初のステップ)

> リージョンはすべて japaneast を選びます。リソースグループは割り当て済みのものを1つだけ使い、追加で作成しないでください。

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

Cosmos DB アカウントの作成はプロビジョニングに数分かかります。最初に着手しておき、待っている間に次の準備を進めます。

1. Azure Portal 上部の検索ボックスで Azure Cosmos DB を検索し、サービスを開きます。

2. 作成 をクリックし、API の選択画面で Azure Cosmos DB for NoSQL の 作成 を選びます。

3. 基本タブで以下を設定します。

- リソースグループ: 割り当て済みのリソースグループ

- アカウント名: グローバルに一意な名前(例: cosmoslab + 自分のイニシャルや数字)

- 場所: Japan East

- 容量モード: プロビジョニング スループット(サーバーレスを選ぶと、後続の RU/s 指定の手順と挙動が変わります)

- その他の項目は既定のままにします

4. 確認と作成 → 作成 をクリックします。

作成完了まで数分かかるので、その間に手順2へ進みます。

残り 7 セクションの手順は、ラボを開始すると画面内に表示されます

構成図

構成図

参考リソース