Introdução ao Azure Cosmos DB for Table usando o .NET

Importante

Você está procurando uma solução de banco de dados para cenários de alta escala com um contrato de nível de serviço (SLA) de disponibilidade de 99.999%, dimensionamento automático instantâneo e failover automático em várias regiões? Considere Azure Cosmos DB para NoSQL.

Este artigo mostra como se conectar ao Azure Cosmos DB for Table usando o SDK do .NET. Uma vez conectado, você pode executar operações em tabelas e itens.

Pacote (NuGet) | Exemplos | Referência da API | Código-fonte da biblioteca | Enviar comentários |

Pré-requisitos

Configure o seu projeto

Crie uma nova aplicação .NET usando o comando dotnet new com o modelo consola.

dotnet new console

Importe o pacote NuGet Azure.Data.Tables usando o dotnet add package comando.

dotnet add package Azure.Data.Tables

Compile o projecto com o comando dotnet build.

dotnet build

Conectar-se ao Azure Cosmos DB para o serviço Tabela

Para se conectar à API da Tabela do Azure Cosmos DB, crie uma instância da TableServiceClient classe. Esta classe é o ponto de partida para executar todas as operações em tabelas.

Para conectar-se à API da sua conta NoSQL usando o Microsoft Entra, utilize um princípio de segurança. O tipo exato de entidade dependerá de onde você hospeda o código do aplicativo. A tabela abaixo serve como um guia de referência rápida.

Onde o aplicativo é executado Principal de segurança
Máquina local (desenvolvimento e testes) Identidade do usuário ou principal de serviço
Azure Identidade gerenciada
Servidores ou clientes fora do Azure Serviço principal

Importar Azure.Identity

O pacote NuGet Azure.Identity contém a funcionalidade de autenticação principal que é compartilhada entre todas as bibliotecas do SDK do Azure.

Importe o pacote NuGet do Azure.Identity usando o dotnet add package comando.

dotnet add package Azure.Identity

Reconstrua o projeto com o comando dotnet build.

dotnet build

No seu editor de código, adicione diretivas de uso para Azure.Core e Azure.Identity namespaces.

using Azure.Core;
using Azure.Identity;

Criar CosmosClient com implementação de credenciais padrão

Se estiveres a testar numa máquina local, ou se a tua aplicação correr em serviços Azure com suporte direto para identidades geridas, obtém um token OAuth criando uma instância DefaultAzureCredential.

Neste exemplo, guardámos a instância numa variável do tipo TokenCredential porque é um tipo mais genérico que pode ser reutilizado entre SDKs.

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

Crie uma nova instância da classe CosmosClient com a COSMOS_ENDPOINT variável de ambiente e o objeto TokenCredential como parâmetros.

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

Compilar a aplicação

À medida que você cria seu aplicativo, seu código interage principalmente com quatro tipos de recursos:

  • A conta API for Table, que é o namespace de nível superior exclusivo para seus dados do Azure Cosmos DB.

  • Tabelas, que contêm um conjunto de itens individuais na sua conta.

  • Itens que representam um único item na sua tabela.

O diagrama seguinte mostra a relação entre estes recursos.

Diagrama da hierarquia do Azure Cosmos DB, incluindo contas, tabelas e itens.

Diagrama hierárquico que mostra uma conta de base de dados Azure Cosmos no topo. A conta tem dois nós de tabela filho. Um dos nós da tabela inclui dois itens filho.

Cada tipo de recurso é representado por uma ou mais classes ou interfaces .NET associadas. Aqui está uma lista dos tipos mais comuns:

Class Description
TableServiceClient Essa classe de cliente fornece uma representação lógica do lado do cliente para o serviço Azure Cosmos DB. O objeto cliente é usado para configurar e executar solicitações no serviço.
TableClient Esta classe de cliente é uma referência a uma tabela que pode, ou não, existir no serviço ainda. A tabela é validada no lado do servidor quando você tenta acessá-la ou executar uma operação contra ela.
ITableEntity Esta interface é a interface base para quaisquer itens que são criados na tabela ou consultados a partir da tabela. Essa interface inclui todas as propriedades necessárias para itens na API para Tabela.
TableEntity Esta classe é uma implementação genérica da ITableEntity interface como um dicionário de pares chave-valor.

Os seguintes guias mostram-lhe como usar cada uma destas classes para construir a sua aplicação.

Guia Description
Criar uma tabela Criar tabelas
Criar um item Criar itens
Ler um item Ler itens

Consulte também

Passos seguintes

Agora que você se conectou a uma conta da API para Tabela, use o próximo guia para criar e gerenciar tabelas.