適用於 Python 的 Azure Cosmos DB for NoSQL 範例
適用於:NoSQL
azure/azure-sdk-for-python (英文) GitHub 存放庫的 main/sdk/cosmos
資料夾中包括可對 Azure Cosmos DB 資源執行 CRUD 作業和其他常見作業的範例解決方案。 本文提供:
- 每個 Python 範例專案檔中各項工作的連結。
- 相關 API 參考內容的連結。
必要條件
- Azure Cosmos DB 帳戶。 您的選項如下:
- 在 Azure 作用中訂用帳戶內:
- 建立 Azure 免費帳戶 或使用現有的訂用帳戶
- Visual Studio 每月點數
- Azure Cosmos DB 免費層
- 若沒有作用中的 Azure 訂用帳戶:
- 免費試用 Azure Cosmos DB,此測試環境可使用 30 天。
- Azure Cosmos DB 模擬器
- 在 Azure 作用中訂用帳戶內:
- Python 3.7+,以及
PATH
中的python
可執行檔。 (如需詳細資訊,請參閱 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 資料庫,請參閱使用資料庫、容器和項目概念文章。
Task | API 參考 |
---|---|
建立資料庫 | CosmosClient.create_database |
依識別碼讀取資料庫 | CosmosClient.get_database_client |
查詢資料庫 | CosmosClient.query_databases |
列出帳戶的資料庫 | CosmosClient.list_databases |
刪除資料庫 | CosmosClient.delete_database |
容器範例
database_management.py Python 範例顯示如何使用 DatabaseProxy 方法來執行下列工作。 若要在執行下列範例之前,先了解 Azure Cosmos DB 集合,請參閱使用資料庫、容器和項目概念文章。
Task | API 參考 |
---|---|
查詢容器 | database.query_containers |
建立容器 | database.create_container |
列出資料庫中的所有容器 | database.list_containers |
依識別碼取得容器 | database.get_container_client |
管理容器的佈建輸送量 | container.replace_throughput |
刪除容器 | database.delete_container |
項目範例
document_management.py 和 change_feed_management.py Python 範例顯示如何使用 ContainerProxy 方法來執行下列工作。 若要在執行下列範例之前了解 Azure Cosmos DB 項目,請參閱使用資料庫、容器和項目概念性文章。
Task | API 參考 |
---|---|
在容器中建立項目 | container.create_item |
依識別碼讀取項目 | container.read_item |
讀取容器中的所有項目 | container.read_all_items |
依識別碼查詢項目 | container.query_items |
取代項目 | container.replace_item |
Upsert 專案 | container.upsert_item |
刪除項目 | container.delete_item |
取得容器中項目的變更摘要 | container.query_items_change_feed |
索引範例
index_management.py Python 範例示範如何執行下列工作。 若要在執行下列範例之前先了解 Azure Cosmos DB 中的索引功能,請參閱索引原則、索引類型及索引路徑概念性文章。
Task | API 參考 |
---|---|
從索引中排除特定項目 | documents.IndexingDirective.Exclude |
將手動編製索引使用於已編製索引的特定項目 | documents.IndexingDirective.Include |
從索引中排除路徑 | 定義要在 IndexingPolicy 屬性中排除的路徑 |
對字串使用範圍索引 | 使用字串資料類型上的範圍索引來定義編製索引原則。 % |
執行索引轉換 | database.replace_container (使用已更新的編製索引原則) |
只有路徑上有雜湊索引時才使用掃描 | 在查詢項目時設定 enable_scan_in_query=True 和 enable_cross_partition_query=True |
下一步
正在嘗試為遷移至 Azure Cosmos DB 進行容量規劃嗎? 您可以使用現有資料庫叢集的相關資訊進行容量規劃。
- 如果您知道現有資料庫叢集中的虛擬核心和伺服器數目,請參閱使用虛擬核心或 vCPU 來估計要求單位
- 如果您知道目前資料庫工作負載的一般要求率,請參閱使用 Azure Cosmos DB 容量規劃工具來估計要求單位