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

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

中級75Azure 実環境

ラボ概要

同じデータベースに対して、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後片付け

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

構成図

構成図

参考リソース