Python 用の Azure Cosmos DB for NoSQL SDK の例
適用対象: NoSQL
Azure Cosmos DB のリソースで CRUD 操作などの一般的な操作を実行するサンプル ソリューションは、azure/azure-sdk-for-python GitHub リポジトリの main/sdk/cosmos
フォルダーに含まれています。 この記事では、次の内容について説明します。
- 各 Python サンプル プロジェクト ファイルのタスクへのリンク。
- 関連する API リファレンス コンテンツへのリンク。
前提条件
- Azure Cosmos DB アカウント。 オプションは次のとおりです。
- Azure アクティブ サブスクリプション内で:
- Azure 無料アカウントを作成するか、既存のサブスクリプションを使用します
- Visual Studio 月単位クレジット
- Azure Cosmos DB の Free レベル
- Azure アクティブ サブスクリプションなしで:
- 30 日間継続するテスト環境として、Azure Cosmos DB を無料で試す。
- Azure Cosmos DB Emulator
- Azure アクティブ サブスクリプション内で:
- Python 3.7 以降 (
python
実行可能ファイルがPATH
に設定されていること)。 (詳細については、Azure SDK Python バージョンのサポート ポリシーを参照してください)。 - Visual Studio Code。
- Visual Studio Code 用 の Python 拡張機能。
- Git.
- Python 用の Azure Cosmos DB for NoSQL SDK
データベースのサンプル
database_management.py Python サンプルでは、CosmosClient メソッドを使用して次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に Azure Cosmos DB データベースについて知るには、データベース、コンテナー、アイテムの操作に関する概念記事をご覧ください。
タスク | API リファレンス |
---|---|
データベースの作成 | CosmosClient.create_database |
ID でのデータベースの読み取り | CosmosClient.get_database_client |
データベースに対するクエリの実行 | CosmosClient.query_databases |
アカウントのデータベースの一覧表示 | CosmosClient.list_databases |
データベースの削除 | CosmosClient.delete_database |
コンテナーの例
container_management.py Python サンプルでは、DatabaseProxy メソッドを使用して次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に Azure Cosmos DB のコレクションについて知るには、データベース、コンテナー、アイテムの操作に関する概念記事を参照してください。
タスク | API リファレンス |
---|---|
コンテナーに対するクエリの実行 | database.query_containers |
コンテナーの作成 | database.create_container |
データベース内のすべてのコンテナーの一覧表示 | database.list_containers |
ID によるコンテナーの取得 | database.get_container_client |
コンテナーのプロビジョニング済みスループットの管理 | container.replace_throughput |
コンテナーの削除 | database.delete_container |
項目の例
document_management.py と change_feed_management.py Python のサンプルは、ContainerProxy メソッドを使用して次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に Azure Cosmos DB 項目について知るために、データベース、コンテナー、アイテムの操作に関する概念記事を参照してください。
タスク | API リファレンス |
---|---|
コンテナーでの項目の作成 | container.create_item |
ID による項目の読み取り | container.read_item |
コンテナー内のすべての項目の読み取り | container.read_all_items |
ID による項目に対するクエリの実行 | container.query_items |
項目の置換 | container.replace_item |
項目のアップサート | container.upsert_item |
項目の削除 | container.delete_item |
コンテナー内の項目の変更フィードの取得 | container.query_items_change_feed |
インデックス作成のサンプル
index_management.py Python サンプルは、次のタスクを実行する方法を示しています。 以下のサンプルを実行する前に Azure Cosmos DB におけるインデックス作成について知るために、インデックス作成ポリシー、インデックスの種類、インデックスのパスに関する概念記事を参照してください。
タスク | API リファレンス |
---|---|
インデックスからの特定項目の除外 | documents.IndexingDirective.Exclude |
特定項目にインデックスを付けることによる手動のインデックス作成の使用 | documents.IndexingDirective.Include |
インデックス作成からのパスの除外 | 除外するパスは IndexingPolicy プロパティで定義します |
文字列の範囲のインデックスの使用 | 文字列データ型で範囲インデックスを使用してインデックス作成ポリシーを定義します。 'kind': documents.IndexKind.Range , 'dataType': documents.DataType.String |
インデックス変換の実行 | database.replace_container (更新されたインデックス作成ポリシーを使用) |
パスにハッシュ インデックスが存在する場合にのみスキャンを使用する | 項目に対してクエリを実行するときは、enable_scan_in_query=True および enable_cross_partition_query=True を設定します |
次のステップ
Azure Cosmos DB への移行のための容量計画を実行しようとしていますか? 容量計画のために、既存のデータベース クラスターに関する情報を使用できます。
- 既存のデータベース クラスター内の仮想コアとサーバーの数のみがわかっている場合は、仮想コアまたは vCPU を使用した要求ユニットの見積もりに関するページを参照してください
- 現在のデータベース ワークロードに対する通常の要求レートがわかっている場合は、Azure Cosmos DB Capacity Planner を使用した要求ユニットの見積もりに関するページを参照してください