SQL API 的 Azure Cosmos DB.NET V3 SDK (Microsoft.Azure.Cosmos) 示例

适用于: SQL API

azure-cosmos-dotnet-v3 GitHub 存储库中包含最新 .NET 示例解决方案。 使用这些解决方案,可对 Azure Cosmos DB 资源执行 CRUD(创建、读取、更新和删除)操作以及其他常见操作。

如果你熟悉旧版 .NET SDK,则可能习惯使用术语“集合”和“文档”。 由于 Azure Cosmos DB 支持多个 API 模型,因此 3.0 版的 .NET SDK 使用通用术语“容器”和“项”。 容器可以是集合、图或表。 项可以是文档、边缘/顶点或行,是容器中的内容。 本文将提供:

  • 指向每个示例 C# 项目文件中各项任务的链接。
  • 指向相关的 API 参考内容的链接。

先决条件

注意

这些示例都是独立的,运行完成后,可对其进行设置和清理。 每次执行此操作时,都会根据容器的性能层,对订阅收取使用 1 小时的费用。

数据库示例

DatabaseManagement 项目示例的 RunDatabaseDemo 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 数据库,请参阅使用数据库、容器和项

任务 API 参考
创建数据库 CosmosClient.CreateDatabaseIfNotExistsAsync
按 ID 读取数据库 Database.ReadAsync
读取帐户的所有数据库 CosmosClient.GetDatabaseQueryIterator
删除数据库 Database.DeleteAsync

容器示例

ContainerManagement 项目示例的 RunContainerDemo 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 容器,请参阅使用数据库、容器和项

任务 API 参考
创建容器 Database.CreateContainerIfNotExistsAsync
使用自定义索引策略创建容器 Database.CreateContainerIfNotExistsAsync
更改容器的已配置性能 Container.ReplaceThroughputAsync
按 ID 获取容器 Container.ReadContainerAsync
读取数据库中的所有容器 Database.GetContainerQueryIterator
删除容器 Container.DeleteContainerAsync

项示例

ItemManagement 项目示例的 RunItemsDemo 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 项,请参阅使用数据库、容器和项

任务 API 参考
创建项 Container.CreateItemAsync
按 ID 读取项 container.ReadItemAsync
查询项 container.GetItemQueryIterator
替换项 container.ReplaceItemAsync
更新插入项 container.UpsertItemAsync
删除项 container.DeleteItemAsync
使用条件 ETag 检查替换项 RequestOptions.IfMatchEtag
部分更新(修补)项 container.PatchItemAsync

索引示例

IndexManagement 项目示例的 RunIndexDemo 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 中的索引,请参阅索引策略索引类型索引路径

任务 API 参考
从索引中排除项 IndexingDirective.Exclude
使用延迟索引 IndexingPolicy.IndexingMode
从索引中排除指定的项路径 IndexingPolicy.ExcludedPaths

查询示例

示例 Queries 项目的 RunDemoAsync 方法显示了如何使用 SQL 查询语法、查询的 LINQ 提供程序和 Lambda 执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 中的 SQL 查询引用,请参阅 Azure Cosmos DB 的 SQL 查询示例

任务 API 参考
查询单个分区中的项 container.GetItemQueryIterator
查询多个分区中的项 container.GetItemQueryIterator
使用 SQL 语句进行查询 container.GetItemQueryIterator

更改源示例

示例 ChangeFeed 项目的 RunBasicChangeFeed 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 中的更改源,请参阅读取 Azure Cosmos DB 更改源更改源处理器

任务 API 参考
基本的更改源功能 Container.GetChangeFeedProcessorBuilder
读取特定时间的更改源 Container.GetChangeFeedProcessorBuilder
从头读取更改源 ChangeFeedProcessorBuilder.WithStartTime(DateTime)
从更改源处理器迁移到 V3 SDK 中的更改源 Container.GetChangeFeedProcessorBuilder

服务器端编程示例

示例 ServerSideScripts 项目的 RunDemoAsync 方法演示如何执行以下任务。 若要在运行以下示例之前了解 Azure Cosmos DB 中的服务器端编程,请参阅存储过程、触发器和用户定义的函数

任务 API 参考
创建存储过程 Scripts.CreateStoredProcedureAsync
执行存储过程 Scripts.ExecuteStoredProcedureAsync
删除存储过程 Scripts.DeleteStoredProcedureAsync

自定义序列化

SystemTextJson 示例项目演示了如何在初始化新的 CosmosClient 对象时使用自定义序列化程序。 该示例还包括一个自定义 CosmosSerializer,它利用 System.Text.Json 进行序列化和反序列化。

后续步骤

尝试为迁移到 Azure Cosmos DB 进行容量计划? 可以使用有关现有数据库群集的信息进行容量规划。