用于 .NET 的 Azure Cosmos DB 库

概述

Azure Cosmos DB 是一种多区域分布式多模型数据库服务。 它旨在通过一个综合性 SLA 跨任意数量的地理区域以富有弹性的方式独立缩放吞吐量和存储空间。 有了 Azure Cosmos DB,可以通过使用 API 和编程模型存储和访问文档、键值、宽列和图形数据库。

CosmosDB 入门

客户端库

使用 Azure Cosmos DB .NET 客户端库在现有 Azure Cosmos DB 数据存储中访问和存储数据。 若要自动创建新的 Azure Cosmos DB 帐户,请使用 Azure 门户、CLI 或 PowerShell。

直接从 Visual Studio 包管理器控制台或使用 .NET Core CLI 安装 NuGet 包

若要安装版本 2.x,请执行以下命令:

Visual Studio 包管理器

Install-Package Microsoft.Azure.DocumentDB.Core

.NET Core CLI

dotnet add package Microsoft.Azure.DocumentDB.Core

若要安装 3.0 预览版(面向 .NET Standard),请执行以下命令:

Visual Studio 包管理器

Install-Package Microsoft.Azure.Cosmos -prerelease

.NET Core CLI

dotnet add package Microsoft.Azure.Cosmos

代码示例

此示例连接到现有的Azure Cosmos DB SQL API 数据库,从集合中读取文档,并将文档反序列化为 Item 对象。 此示例使用 .NET SDK 的 2.x 版本。

/* Include this "using" directive...
using Microsoft.Azure.Documents.Client;
*/

DocumentClient client = new DocumentClient(endpointUri, authKeyString);
Uri documentUri = UriFactory.CreateDocumentUri("MyDatabaseName", "MyCollectionName", "DocumentId");
SomeClass myObject = client.ReadDocumentAsync<SomeClass>(documentUri).ToString();

此示例连接到现有 Azure Cosmos DB SQL API 数据库、创建新数据库和容器、从容器中读取某个项以及将其反序列化为 TodoItem 对象。 此示例使用 .NET SDK 的 3.x 版本。

using (CosmosClient cosmosClient = new CosmosClient("endpoint", "primaryKey"))
{
    // Read item from container
    CosmosItemResponse<TodoItem> todoItemResponse = await cosmosClient.Databases["DatabaseId"].Containers["ContainerId"].Items.ReadItemAsync<TodoItem>("partitionKeyValue", "ItemId");
}

示例

查看 Azure Cosmos DB 示例的完整列表