開始使用 Azure Cosmos DB for NoSQL 和 .NET
適用於:NoSQL
本文說明如何透過 .NET SDK 與 Azure Cosmos DB for NoSQL 連線。 連線之後,您即可在資料庫、容器和項目上執行作業。
封裝 (NuGet) | 範例 | API 參考 | 程式庫原始程式碼 | 提供意見反應
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- Azure Cosmos DB for NoSQL 帳戶。 建立 API for NoSQL 帳戶。
- .NET 6.0 或更新版本
- Azure 命令列介面 (CLI) 或 Azure PowerShell
設定您的專案
使用 dotnet new
命令搭配主控台範本來建立新的 .NET 應用程式。
dotnet new console
使用 dotnet add package
命令匯入 Microsoft.Azure.Cosmos NuGet 套件。
dotnet add package Microsoft.Azure.Cosmos
使用 dotnet build
命令建立專案。
dotnet build
連線至 Azure Cosmos DB for NoSQL
若要連線到 Azure Cosmos DB 的 API for NoSQL,請建立 CosmosClient
類別的執行個體。 此類別是針對資料庫執行所有作業的起點。
若要使用 Microsoft Entra 連線到 NoSQL 帳戶的 API,請使用安全性主體。 主體的確切類型取決於您裝載應用程式程式碼的位置。 下表可作為快速參考指南。
應用程式的執行位置 | 安全性主體 |
---|---|
本機電腦 (開發和測試) | 使用者身分識別或服務主體 |
Azure | 受控識別 |
Azure 外部的伺服器或用戶端 | 服務主體 |
匯入 Azure.Identity
Azure.Identity NuGet 套件包含所有 Azure SDK 程式庫之間共用的核心驗證功能。
使用 命令匯入 Azure.Identitydotnet add package
NuGet 套件。
dotnet add package Azure.Identity
使用 dotnet build
命令重新建立專案。
dotnet build
在您的程式碼編輯器中,針對 Azure.Core
和 Azure.Identity
命名空間使用指示詞。
using Azure.Core;
using Azure.Identity;
使用預設認證實作建立 CosmosClient
如果您要在本機電腦上進行測試,或應用程式將在 Azure 服務上執行,並直接支援受控識別,請建立 DefaultAzureCredential
執行個體以取得 OAuth 權杖。
在此範例中,我們會將執行個體儲存在 TokenCredential
類型的變數中,因為此項目在 SDK 間是更為常見且重複使用的類型。
// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();
使用 COSMOS_ENDPOINT
環境變數和 TokenCredential 物件作為參數,建立 CosmosClient 類別的新執行個體。
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
tokenCredential: credential
);
建置您的 應用程式
組建應用程式時,程式碼主要與四種資源互動:
API for NoSQL 帳戶是 Azure Cosmos DB 資料的唯一最上層命名空間。
資料庫,用於組織帳戶中的容器。
容器,其中包含資料庫中的一組個別項目。
項目,代表容器中的 JSON 文件。
下圖顯示資源之間的關係。
在頂端顯示 Azure Cosmos DB 帳戶的階層式圖表。 帳戶有兩個子資料庫節點。 其中一個資料庫節點包含兩個子容器節點。 另一個資料庫節點包含單一子容器節點。 該單一容器節點有三個子項目節點。
每種資源以一或多個相關聯的 .NET 類別來表示。 以下是最常見類別的清單:
類別 | 描述 |
---|---|
CosmosClient |
此類別提供適用於 Azure Cosmos DB 服務的用戶端邏輯表示法。 用戶端物件會用於設定及執行針對服務的要求。 |
Database |
此類別是服務中可能或可能不存在的資料庫參考。 當您嘗試存取資料庫或對其執行作業時,資料庫為已驗證的伺服器端。 |
Container |
此類別為容器參考,可能尚未於伺服器中存在。 當您嘗試使用此項目時,容器為已驗證的伺服器端。 |
下列指南說明如何以上每個類別來組建應用程式。
指南 | 描述 |
---|---|
建立資料庫 | 建立資料庫 |
建立容器 | 建立容器 |
讀取項目 | 點讀取特定項目 |
查詢項目 | 查詢多個項目 |