你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过 .NET 使用适用于表的 Azure Cosmos DB 入门

适用对象:

本文介绍如何使用 .NET SDK 连接到 Azure Cosmos DB for Table。 连接后,可以对表和项目执行操作。

包 (NuGet) | 示例 | API 参考 | 库源代码 | 提供反馈 |

先决条件

设置项目

通过将 dotnet new 命令与控制台模板一起使用,创建一个新的 .NET 应用程序。

dotnet new console

使用 dotnet add package 命令导入 Azure.Data.Tables NuGet 包。

dotnet add package Azure.Data.Tables

使用 dotnet build 命令生成项目。

dotnet build

连接到 Azure Cosmos DB for Table

若要连接到 Azure Cosmos DB 的 API for Table,请创建 TableServiceClient 类的实例。 此类是对表执行所有操作的起点。

若要使用 Microsoft Entra 连接到 NoSQL 帐户的 API,请使用安全主体。 主体的确切类型将取决于应用程序代码的托管位置。 下表可用作快速参考指南。

应用程序的运行位置 安全主体
本地计算机(开发和测试) 用户标识或服务主体
Azure 托管标识
Azure 外部的服务器或客户端 服务主体

导入 Azure.Identity

Azure.Identity NuGet 包包含所有 Azure SDK 库之间共享的核心身份验证功能。

使用 dotnet add package 命令导入 Azure.Identity NuGet 包。

dotnet add package Azure.Identity

使用 dotnet build 命令重新生成项目。

dotnet build

在代码编辑器中,添加 Azure.CoreAzure.Identity 命名空间的 using 指令。

using Azure.Core;
using Azure.Identity;

使用默认凭据实现创建 CosmosClient

如果在本地计算机上进行测试,或者应用程序将在 Azure 服务上运行,并直接支持托管标识,则通过创建 DefaultAzureCredential 实例来获取 OAuth 令牌。

在此示例中,我们将实例保存在类型为 TokenCredential 的变量中,因为这是一种可在 SDK 中重复使用的更通用的类型。

// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();

使用 COSMOS_ENDPOINT 环境变量和 TokenCredential 对象作为参数,创建 CosmosClient 类的新实例。

// New instance of TableServiceClient class using Microsoft Entra
TableServiceClient client = new(
    endpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
    tokenCredential: credential
);

生成应用程序

在生成应用程序时,代码主要与四种类型的资源交互:

  • API for Table 帐户,它是 Azure Cosmos DB 数据的唯一顶级命名空间。

  • 表格,其中包含你的帐户中的一组单独的项。

  • 项目,它表示表中的单个项。

以下图示显示了这些资源之间的关系。

Azure Cosmos DB 层次结构示意图,其中包括帐户、表和项。

顶部是显示 Azure Cosmos DB 帐户的层次结构示意图。 该帐户有两个子级表节点。 其中一个表节点包括两个子项。

每种类型的资源都由一个或多个关联的 .NET 类或接口表示。 以下是最常见类型的列表:

说明
TableServiceClient 此客户端类为 Azure Cosmos DB 服务提供客户端逻辑表示。 此客户端对象用于对服务进行配置和执行请求。
TableClient 此客户端类是对服务中可能存在或不存在的表的引用。 当尝试访问表或对其执行操作时,在服务器端验证该表。
ITableEntity 此接口是在表中创建或从表中查询的任何项的基接口。 此接口包括 API for Table 中项的所有必需属性。
TableEntity 此类是作为键值对字典的 ITableEntity 接口的通用实现。

以下指南介绍了如何使用上述每个类来生成应用程序。

指南 说明
创建表 创建表
创建项 创建项
读取项 读取项

请参阅

后续步骤

现在,你已连接到 API for Table 帐户,请使用下一指南来创建和管理表。