Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Azure Cosmos DB para conta do tipo Table. Crie uma API para a conta da Tabela.
- .NET 6.0 ou posterior
- Azure Command-Line Interface (CLI) ou Azure PowerShell
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 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.