適用於:NoSQL
一般
如何開始針對 Azure Cosmos DB for NoSQL 進行開發?
首先,您必須註冊 Azure 訂用帳戶。 註冊 Azure 訂用帳戶之後,您可以將 API for NoSQL 容器新增至您的 Azure 訂用帳戶。
軟體開發套件 (SDK) 適用於 .NET、Python、Node.js、JavaScript、Go 和 Java。 開發人員也可以使用 REST API,從其他平台和語言來與 Azure Cosmos DB 資源互動。
是否有 Azure Cosmos DB for NoSQL 範例可以開始使用?
請參閱 API for NoSQL 的下列快速入門程式碼範例和範本:
Azure Cosmos DB for NoSQL 是否支援無結構描述資料?
是,API for NoSQL 可讓應用程式將任意 JSON 文件儲存為項目,而不需要結構描述定義或提示。 使用 Azure Cosmos DB for NoSQL 查詢語言,即可立即查詢資料。
Azure Cosmos DB for NoSQL 是否支援 ACID (不可部分完成性、一致性、隔離、持久性) 交易?
是,API for NoSQL 支援使用 JavaScript 預存程序和觸發程序中的批次所表示的跨文件交易。 交易以每個容器的單一分割為範圍,且以 ACID 語意執行,也就是「全有或全無」,與其他並行執行的程式碼和使用者要求隔離。 如果發生例外狀況,則會復原整個交易。
如何建立 Azure Cosmos DB for NoSQL 資料庫?
您可以使用下列其中一個工具來建立資料庫:
- Azure 入口網站
- API for NoSQL 用戶端 (資料平面) SDK
- API for NoSQL 管理 (控制平面) SDK
- Azure Resource Manager
- REST API
是否可以使用現有 Microsoft Entra ID 帳戶向 Azure Cosmos DB for NoSQL 進行驗證?
可以! Azure Cosmos DB 支援 Microsoft Entra 驗證來管理服務和其資源 (控制平面),以及執行資料、作業和查詢 (資料平面)。 控制平面驗證是使用 Azure 的角色型存取控制功能來執行。 您可以使用預先設定的內建角色](../../role-based-access-control/built-in-roles.md),也可以建立自訂角色。 使用 Azure 角色型存取控制,您可以管理帳戶、資料庫、容器和中繼資料。 控制平面包括作業,包括但不限於這些範例。
- 建立、取代或刪除資料庫 - 建立、取代或刪除容器 - 讀取或取代資料庫輸送量 - 讀取或取代容器輸送量 數據平面驗證會使用自定義 API 進行 NoSQL 原生角色型存取控制實作。 透過這個原生實作,您也可以使用預先設定或自訂角色。 使用原生角色型存取控制,您可以執行查詢、管理項目,或執行其他常見作業。 資料平面包括作業,包括但不限於這些範例。
- 建立、取代、更新或刪除專案 - 修補專案 - 執行查詢
Azure Cosmos DB for NoSQL 是否支援 SQL 查詢語言?
結構化查詢語言 (SQL) 是通常用來查詢關聯式資料的語言。 API for NoSQL 具有衍生自 SQL 的自訂 NoSQL 查詢語言。 NoSQL 查詢語言包括通常與 SQL Server 相關聯的 SQL 查詢語言子集,以及各種 NoSQL 特定增強功能。 NoSQL 查詢語言提供豐富的階層式和關聯式運算子,以及透過 JavaScript 型使用者定義函數 (UDF) 的擴充性。 JSON 文法允許將 JSON 文件模型化為節點加上標籤的樹狀結構,這是由 Azure Cosmos DB 的自動編製索引技術及 Azure Cosmos DB 的 SQL 查詢方言所使用。 如需使用此查詢語言的相關資訊,請參閱 NoSQL 查詢。
Azure Cosmos DB for NoSQL 是否支援 SQL 彙總函數?
API for NoSQL 透過 NoSQL 查詢語言,以透過彙總函數來支援彙總,例如:COUNT
、MAX
、AVG
和 SUM
。
Azure Cosmos DB for NoSQL 如何提供並行?
API for NoSQL 透過 HTTP 實體標記或 ETag,來支援開放式並行控制 (OCC)。 每個 API for NoSQL 資源都有一個 ETag,並且會在每次更新文件時,於伺服器上設定此 ETag。 ETag 標頭和目前的值會包含於所有回應訊息中。 Etag 可以與 If-Match
標頭搭配使用,讓伺服器決定是否應該更新資源。 If-Match 值是要經過檢查的 ETag 值。 如果 ETag 值符合伺服器的 ETag 值,就會更新資源。 如果 ETag 不再是最新狀態,則伺服器會拒絕該作業,並提供「HTTP 412 前置條件失敗」回應碼。 用戶端接著會重新擷取資源,以取得該資源目前的 ETag 值。 此外,ETag 可以與 If-None-Match
標頭搭配使用,以判斷是否需要重新擷取資源。
大部分 API for NoSQL SDK 都包括用來管理開放式並行控制的類別。
如何將文件大量插入至 Azure Cosmos DB for NoSQL?
使用適用於 API for NoSQL 的 .NET SDK 或 Java SDK 中的大量匯入功能,來匯入大型資料集。 此功能會將佈建輸送量最佳化,以匯入大型資料集。
或者,使用 Apache Spark,以使用 Python 或 Scala 大規模匯入資料。
Azure Cosmos DB for NoSQL 是否支援資源連結快取?
是,因為 Azure Cosmos DB for NoSQL 是一項 RESTful 服務,所以資源連結固定不變且可快取。 API for NoSQL 用戶端可以指定 "If-None-Match" 標頭來讀取任何類似資源的文件或容器,然後在伺服器版本變更之後更新其本機複本。
Azure Cosmos DB for NoSQL 的本機執行個體是否可供使用?
是。 Azure Cosmos DB 模擬器提供 Azure Cosmos DB 服務的高逼真度模擬。 其支援跨各種 API 與 Azure Cosmos DB 完全相同的功能。 此功能包括支援建立項目、查詢項目、佈建容器,以及調整容器。 您可以使用模擬器的端點來開發和測試應用程式。 接著,您可以將連接字串從模擬器變更為即時服務,以全域規模將應用程式部署至 Azure。
在入口網站中使用資料總管時,為何會將 Azure Cosmos DB for NoSQL 項目中的長浮點值四捨五入?
此資料總管限制是 JavaScript 的限制。 JavaScript 使用電機電子工程師學會 (IEEE) 754 中指定的雙精確度浮點數格式數字。 此資料類型只能安全地保存 -(253 - 1) 與 253-1 之間的數字 (即 9007199254740991)。
安全性
什麼是角色型存取控制 (RBAC)?
角色型存取控制 (RBAC) 是一種根據企業內個別使用者角色來規範電腦或網路資源的存取的方法。 在 Azure Cosmos DB 中,RBAC 可用來授與使用者和應用程式資料平面存取權。 如需角色型訪問控制中各種詞彙的詳細資訊,請參閱 安全性詞彙。
如何為 Azure Cosmos DB for NoSQL 啟用資料平面角色型存取控制?
使用 Azure Cosmos DB 原生角色型存取控制 (RBAC) 功能,授與使用者和應用程式資料平面存取權。 如需詳細資訊,請參閱 授與數據平面角色型存取。
哪些 Azure Cosmos DB API 支援資料平面角色型存取控制?
到目前為止,僅支援 NoSQL API。
是否可以從 Azure 入口網站管理角色定義和角色指派?
尚未提供 Azure 入口網站的角色管理支援。
Azure Cosmos DB API for NoSQL 中的哪些 SDK 支援角色型存取控制?
目前支援 .NET V3、Java V4、JavaScript V3 和 Python V4.3+ SDK。
Microsoft Entra 權杖在到期時是否會由 Azure Cosmos DB SDK 自動重新整理?
是。
使用角色型存取控制時,是否可以停用帳戶主要/次要金鑰?
是。 如需詳細資訊,請參閱 停用金鑰型驗證。