Начало работы с Azure Cosmos DB для таблицы с помощью .NET
Область применения: Таблица
В этой статье показано, как подключиться к Azure Cosmos DB для таблицы с помощью пакета SDK для .NET. После подключения можно выполнять операции с таблицами и элементами.
Пакет (NuGet) | Примеры | Справочная документация по API | Исходный код библиотеки | Оставить отзыв |
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Учетная запись Azure Cosmos DB для таблицы. Создайте API для учетной записи таблицы.
- .NET 6.0 или более поздней версии
- Интерфейс командной строки (CLI) Azure или Azure PowerShell
Настройка проекта
Создайте новое приложение .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 в верхней части. У учетной записи есть два дочерних узла таблиц. Один из этих узлов таблиц содержит два дочерних элемента.
Каждый тип ресурса представлен одним или несколькими связанными интерфейсами или классами .NET. Ниже приведен список наиболее распространенных типов.
Класс | Description |
---|---|
TableServiceClient |
Этот клиентский класс является логическим представлением службы Azure Cosmos DB на стороне клиента. Этот клиентский объект позволяет настраивать и выполнять запросы к службе. |
TableClient |
Этот клиентский класс является ссылкой на таблицу, которая может существовать или еще не существовать в службе. Таблица проверяется на стороне сервера при попытке доступа к ней или выполнении операции с ней. |
ITableEntity |
Этот интерфейс является базовым интерфейсом для всех элементов, создаваемых в таблице или запрашиваемых из таблицы. Этот интерфейс включает все необходимые свойства для элементов в API для таблицы. |
TableEntity |
Этот класс представляет собой универсальную реализацию интерфейса ITableEntity в формате словаря с парами "ключ — значение". |
Сведения об использовании каждого из этих классов для создания приложения приведены в следующих руководствах.
Руководство | Description |
---|---|
Создание таблицы | Создание таблиц |
Создание элемента | Создание элементов |
Чтение элемента | Чтение элементов |
См. также
Следующие шаги
Теперь, когда вы подключились к API для учетной записи таблицы, используйте следующее руководство для создания таблиц и управления ими.