Поделиться через


Начало работы с Azure Cosmos DB для таблицы с помощью .NET

Область применения: Таблица

В этой статье показано, как подключиться к Azure Cosmos DB для таблицы с помощью пакета SDK для .NET. После подключения можно выполнять операции с таблицами и элементами.

Пакет (NuGet) | Примеры | Справочная документация по API | Исходный код библиотеки | Оставить отзыв |

Необходимые компоненты

Настройка проекта

Создайте новое приложение .NET, используя команду dotnet new с шаблоном console.

dotnet new console

Импортируйте пакет NuGet Azure.Data.Tables с помощью команды dotnet add package.

dotnet add package Azure.Data.Tables

Создайте проект с помощью команды dotnet build.

dotnet build

Подключение к Azure Cosmos DB для таблицы

Чтобы подключиться к API для таблицы Azure Cosmos DB, создайте экземпляр TableServiceClient класса. Этот класс является начальной точкой для выполнения всех операций с таблицами.

Чтобы подключиться к учетной записи API для NoSQL с помощью Microsoft Entra, используйте субъект безопасности. Точный тип субъекта будет зависеть от того, где размещается код приложения. Приведенная ниже таблица служит кратким справочным руководством.

Место выполнения приложения Субъект безопасности
Локальный компьютер (разработка и тестирование) Удостоверение пользователя или субъект-служба
Azure Управляемое удостоверение
Серверы или клиенты вне Azure Субъект-служба

Импорт Azure.Identity

Пакет NuGet Azure.Identity содержит основные функции проверки подлинности, общие для всех библиотек пакета SDK Azure.

Импортируйте пакет NuGet Azure.Identity с помощью команды dotnet add package.

dotnet add package Azure.Identity

Повторно создайте проект с помощью команды dotnet build.

dotnet build

В редакторе кода добавьте директивы using для пространств имен Azure.Core и Azure.Identity.

using Azure.Core;
using Azure.Identity;

Создание CosmosClient с реализацией учетных данных по умолчанию

Если вы тестируете на локальном компьютере или приложение будет выполняться в службах Azure с прямой поддержкой управляемых удостоверений, получите маркер OAuth, создав экземпляр DefaultAzureCredential.

В этом примере мы сохранили экземпляр в переменной типа TokenCredential, так как это более универсальный тип, который многократно используется в пакетах SDK.

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

Создайте новый экземпляр класса CosmosClient с переменной среды COSMOS_ENDPOINT и объектом TokenCredential в качестве параметров.

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

Сборка приложения

При создании приложения код будет в основном взаимодействовать с четырьмя типами ресурсов:

  • Учетная запись API для таблицы, которая является уникальным пространством имен верхнего уровня для данных Azure Cosmos DB.

  • Таблицы, содержащие набор отдельных элементов в учетной записи.

  • Элементы, представляющие отдельный элемент в таблице.

На следующей схеме показана связь между этими ресурсами.

Схема иерархии Azure Cosmos DB с учетными записями, таблицами и элементами.

Иерархическая схема с учетной записью Azure Cosmos DB в верхней части. У учетной записи есть два дочерних узла таблиц. Один из этих узлов таблиц содержит два дочерних элемента.

Каждый тип ресурса представлен одним или несколькими связанными интерфейсами или классами .NET. Ниже приведен список наиболее распространенных типов.

Класс Description
TableServiceClient Этот клиентский класс является логическим представлением службы Azure Cosmos DB на стороне клиента. Этот клиентский объект позволяет настраивать и выполнять запросы к службе.
TableClient Этот клиентский класс является ссылкой на таблицу, которая может существовать или еще не существовать в службе. Таблица проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней.
ITableEntity Этот интерфейс является базовым интерфейсом для всех элементов, создаваемых в таблице или запрашиваемых из таблицы. Этот интерфейс включает все необходимые свойства для элементов в API для таблицы.
TableEntity Этот класс представляет собой универсальную реализацию интерфейса ITableEntity в формате словаря с парами "ключ — значение".

Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.

Руководство Description
Создание таблицы Создание таблиц
Создание элемента Создание элементов
Чтение элемента Чтение элементов

См. также

Следующие шаги

Теперь, когда вы подключились к API для учетной записи таблицы, используйте следующее руководство для создания таблиц и управления ими.