本文將教你如何使用 JavaScript SDK 連接 Azure Cosmos DB for NoSQL。 一旦連接,你就能對資料庫、容器和物品進行操作。
套件(npm) | API 參考 | 函式庫原始碼 | 給予回饋
先決條件
- 具有有效訂閱的 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 for 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
});
建置您的 應用程式
組建應用程式時,程式碼主要與四種資源互動:
API for NoSQL 帳戶是 Azure Cosmos DB 資料的唯一最上層命名空間。
資料庫,用於組織帳戶中的容器。
容器,其中包含資料庫中的一組個別項目。
項目,代表容器中的 JSON 文件。
下圖顯示這些資源之間的關係。
在頂端顯示 Azure Cosmos DB 帳戶的階層式圖表。 帳戶有兩個子資料庫節點。 其中一個資料庫節點包含兩個子容器節點。 另一個資料庫節點包含單一子容器節點。 該單一容器節點有三個子項目節點。
每種資源類型由一個或多個相關類別表示。 以下是最常見的職業列表:
| Class | Description |
|---|---|
CosmosClient |
此類別提供適用於 Azure Cosmos DB 服務的用戶端邏輯表示法。 用戶端物件會用於設定及執行針對服務的要求。 |
Database |
這個類別是對一個資料庫的參考,該資料庫可能已經存在,也可能尚未存在於服務中。 當你嘗試存取資料庫或執行操作時,該資料庫會被伺服器端驗證。 |
Container |
此類別指的是一個容器,該容器可能尚未在服務中存在。 當你嘗試操作容器時,容器會被伺服器端驗證。 |
下列指南說明如何以上每個類別來組建應用程式。
| Guide | Description |
|---|---|
| 建立資料庫 | 建立資料庫 |
| 建立容器 | 建立容器 |
| 建立並閱讀一個項目 | 針對特定項目進行點解讀 |
| 查詢項目 | 查詢多個項目 |