本文將教你如何使用 JavaScript SDK 連接 Azure Cosmos DB for NoSQL。 一旦連接,你就能對資料庫、容器和物品進行操作。
套件(npm) | API 參考 | 函式庫原始碼 | 給予回饋
Prerequisites
- 一個有有效訂閱的 Azure 帳號。 免費建立帳戶。
- Azure Cosmos DB for NoSQL 帳戶. 為 NoSQL 帳號建立一個 API。
- Node.js LTS
- Azure 命令列介面 (CLI) 或 Azure PowerShell
建立你在地的專案
在 bash shell 中為你的 JavaScript 專案建立一個新的目錄。
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples使用
命令與 主控台 範本來建立新的 JavaScript 應用程式。npm init -y安裝 Azure Cosmos DB for NoSQL JavaScript SDK 所需的依賴。
npm install @azure/cosmos
連接到 Azure Cosmos DB 用於 NoSQL
要連接 Azure Cosmos DB 的 NoSQL API,請建立該 CosmosClient 類別的實例。 此類別是針對資料庫執行所有作業的起點。
為了透過 Microsoft Entra 連接至您的 NoSQL 帳戶的 API,請使用安全主體。 主體的確切類型取決於您託管應用程式程式碼的位置。 下表可作為快速參考指南。
| 應用程式的執行位置 | 安全性主體 |
|---|---|
| 本機電腦 (開發和測試) | 使用者身分識別或服務主體 |
| Azure | 受管理的識別 |
| Azure 外部的伺服器或用戶端 | 服務主體 |
匯入 @azure/identity
@azure/身份 npm 套件包含所有 Azure SDK 函式庫共享的核心認證功能。
-
npm install @azure/identity 在你的程式碼編輯器裡,加入相依關係。
const { DefaultAzureCredential } = require("@azure/identity");
使用預設認證實作建立 CosmosClient
如果你是在本地機器上測試,或你的應用程式會在支援管理身份的Azure服務上執行,請透過建立一個 DefaultAzureCredential 實例來取得 OAuth 令牌。 接著建立一個新的 CosmosClient 類別實例,並以 COSMOS_ENDPOINT 環境變數和 TokenCredential 物件作為參數。
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: credential
});
建置您的 應用程式
組建應用程式時,程式碼主要與四種資源互動:
NoSQL 帳戶的 API 是 Azure Cosmos DB 資料的唯一全域命名空間。
資料庫,用來在帳戶中組織容器。
容器,包含資料庫中的一組個別項目。
項目,代表容器中的 JSON 文件。
下圖顯示這些資源之間的關係。
階層式圖表顯示 Azure Cosmos DB 帳戶在頂端。 帳戶有兩個子資料庫節點。 其中一個資料庫節點包含兩個子容器節點。 另一個資料庫節點包含一個子容器節點。 該容器節點包含三個子項目節點。
每種資源類型由一個或多個相關類別表示。 以下是最常見類別的清單:
| Class | Description |
|---|---|
CosmosClient |
此類別提供 Azure Cosmos DB 服務的客戶端邏輯表示。 用戶端物件會用於設定及執行針對服務的要求。 |
Database |
這個類別是對一個資料庫的參考,該資料庫可能已經存在,也可能尚未存在於服務中。 當你嘗試存取資料庫或執行操作時,該資料庫會被伺服器端驗證。 |
Container |
此類別指的是一個容器,該容器可能尚未在服務中存在。 當你嘗試操作容器時,容器會被伺服器端驗證。 |
以下指南將說明如何使用這些類別來組建應用程式。
| Guide | Description |
|---|---|
| 建立資料庫 | 建立資料庫 |
| 建立容器 | 建立容器 |
| 建立並閱讀一個項目 | 點讀特定項目 |
| 查詢項目 | 查詢多個項目 |