Быстрое начало: Использование Azure Cosmos DB для таблицы с пакетом SDK Azure для .NET
Статья
08.04.2025
Применяется к: ✅ Table
В этом кратком руководстве описано, как развернуть базовое приложение Azure Cosmos DB для таблиц с помощью пакета SDK Azure для .NET. Azure Cosmos DB для таблицы — это хранилище данных без схемы, позволяющее приложениям хранить структурированные данные таблицы в облаке. Вы узнаете, как создавать таблицы, строки и выполнять основные задачи в ресурсе Azure Cosmos DB с помощью пакета SDK Azure для .NET.
Если у вас нет учетной записи Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Инициализация проекта
Используйте интерфейс командной строки разработчика Azure (azd) для создания учетной записи Azure Cosmos DB для таблицы и развертывания контейнерного примера приложения. Пример приложения использует клиентскую библиотеку для управления, создания, чтения и запроса пробных данных.
Откройте терминал в пустом каталоге.
Если вы еще не прошли проверку подлинности, выполните проверку подлинности в интерфейсе командной строки разработчика Azure с помощью azd auth login. Выполните действия, указанные средством для проверки подлинности в CLI с помощью предпочитаемых учетных данных Azure.
Во время инициализации настройте уникальное имя среды.
Разверните учетную запись Azure Cosmos DB с помощью azd up. Шаблоны Bicep также развертывают пример веб-приложения.
azd up
В процессе подготовки выберите подписку, требуемое расположение и целевую группу ресурсов. Дождитесь завершения процесса подготовки. Процесс может занять около пяти минут.
После завершения подготовки ресурсов Azure в выходные данные будет включен URL-адрес работающего веб-приложения.
Deploying services (azd deploy)
(✓) Done: Deploying service web
- Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
Используйте URL-адрес консоли для перехода к веб-приложению в браузере. Просмотрите выходные данные запущенного приложения.
Установка клиентской библиотеки
Клиентская библиотека доступна через NuGet в качестве Azure.Data.Tables пакета.
Откройте терминал и перейдите в папку /src/web .
cd ./src/web
Если пакет еще не установлен, установите Azure.Data.Tables с помощью dotnet add package.
dotnet add package Azure.Data.Tables
Откройте и просмотрите файл src/web/Microsoft.Samples.Cosmos.Table.Quickstart.Web.csproj , чтобы проверить наличие Azure.Data.Tables записи.
Импорт библиотек
Импортируйте пространства имен Azure.Identity и Azure.Data.Tables в код приложения.
Пример кода в шаблоне использует таблицу с именем cosmicworks-products. В cosmicworks-products таблице содержатся такие сведения, как имя, категория, количество, цена, уникальный идентификатор и флаг продажи для каждого продукта. Контейнер использует уникальный идентификатор в качестве ключа строки и категории в качестве ключа секции.
аутентификация клиента;
В этом примере создается новый экземпляр TableServiceClient класса.
Самый простой способ создать сущность в таблице — создать класс, реализующий ITableEntity интерфейс. Затем вы можете добавить свои собственные свойства в класс, чтобы заполнить столбцы данных в этой строке таблицы.
public record Product : ITableEntity
{
public required string RowKey { get; set; }
public required string PartitionKey { get; set; }
public required string Name { get; set; }
public required int Quantity { get; set; }
public required decimal Price { get; set; }
public required bool Clearance { get; set; }
public ETag ETag { get; set; } = ETag.All;
public DateTimeOffset? Timestamp { get; set; }
};
Создайте сущность в таблице с помощью Product класса путем вызова TableClient.AddEntityAsync<T>.
Вы можете получить определенную сущность из таблицы с помощью TableClient.GetEntityAsync<T> метода. Укажите partitionKey и rowKey в качестве параметров, чтобы определить правильную строку для выполнения быстрого побайтового чтения этой сущности.
После вставки сущности можно также запустить запрос, чтобы получить все сущности, соответствующие определенному фильтру TableClient.Query<T> , с помощью метода. В этом примере продукты фильтруются по категориям с помощью синтаксиса LINQ, который является преимуществом использования типизированных ITableEntity моделей, таких как Product класс.
Создавайте эффективные запросы, создавайте политики индексирования, управляйте и подготавливайте ресурсы в API SQL и пакете SDK с помощью Microsoft Azure Cosmos DB.