Introducción a Azure Cosmos DB for Table con .NET

Importante

¿Busca una solución de base de datos para escenarios a gran escala con un contrato de nivel de servicio (SLA) de disponibilidad de 99,999%, escalabilidad automática instantánea y conmutación automática por error en varias regiones? Considere la posibilidad de usar Azure Cosmos DB para NoSQL.

En este artículo se muestra cómo conectarse a Azure Cosmos DB for Table mediante el SDK de .NET. Una vez conectado, puede realizar operaciones en tablas y elementos.

Package (NuGet) | Muestras | Referencia API | código fuente de biblioteca | Hacer comentarios |

Prerequisites

Configura tu proyecto

Cree una nueva aplicación .NET mediante el comando dotnet new con la plantilla console.

dotnet new console

Importe el paquete NuGet Azure.Data.Tables mediante el comando dotnet add package.

dotnet add package Azure.Data.Tables

Compile el proyecto con el comando dotnet build.

dotnet build

Conexión a Azure Cosmos DB for Table

Para conectarse a la API de Table de Azure Cosmos DB, cree una instancia de la clase TableServiceClient. Esta clase es el punto inicial para realizar todas las operaciones en tablas.

Para conectarse a la API de su cuenta NoSQL utilizando Microsoft Entra, emplee un principal de seguridad. El tipo exacto de principal dependerá de dónde aloje el código de la aplicación. La tabla siguiente sirve como guía de referencia rápida.

Dónde se ejecuta la aplicación Principal de seguridad
Máquina local (desarrollo y pruebas) Identidad de usuario o principal de servicio
Azure Identidad administrada
Servidores o clientes fuera de Azure Entidad principal de servicio

Importar Azure.Identity

El paquete NuGet Azure.Identity contiene la funcionalidad principal de autenticación que se comparte entre todas las bibliotecas del SDK de Azure.

Importe el paquete NuGet Azure.Identity mediante el comando dotnet add package.

dotnet add package Azure.Identity

Recompile el proyecto con el comando dotnet build.

dotnet build

En el editor de código, agregue directivas "using" para los espacios de nombres Azure.Core y Azure.Identity.

using Azure.Core;
using Azure.Identity;

Creación de CosmosClient con la implementación de credenciales predeterminada

Si está probando en una máquina local o la aplicación se va a ejecutar en servicios de Azure con compatibilidad directa con identidades administradas, obtenga un token de OAuth mediante la creación de una instancia de DefaultAzureCredential.

En este ejemplo, guardamos la instancia en una variable de tipo TokenCredential, ya que es un tipo más genérico que se puede reutilizar en los SDK.

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

Cree una nueva instancia de la clase CosmosClient con la variable de entorno COSMOS_ENDPOINT y el objeto TokenCredential como parámetros.

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

Compilación de la aplicación

A medida que compile la aplicación, el código interactuará principalmente con cuatro tipos de recursos:

  • La API de la cuenta Table, que es el espacio de nombre único del nivel superior para los datos de Azure Cosmos DB.

  • Tablas, que contienen un conjunto de elementos individuales en la cuenta.

  • Elementos que representan un ítem individual en tu tabla.

En el diagrama siguiente se muestra la relación entre estos recursos.

Diagrama de la jerarquía de Azure Cosmos DB que incluye cuentas, tablas y elementos.

Diagrama jerárquico que muestra una cuenta de Azure Cosmos DB en la parte superior. La cuenta tiene dos nodos de tablas secundarios. Uno de los nodos de tablas incluye dos elementos secundarios.

Cada tipo de recurso se representa mediante una o varias clases .NET o interfaces asociadas. A continuación, se muestra una lista de los tipos más comunes:

Class Description
TableServiceClient Esta clase de cliente proporciona una representación lógica del cliente para el servicio Azure Cosmos DB. El objeto de cliente se usa para configurar y ejecutar solicitudes en el servicio.
TableClient Esta clase de cliente es una referencia a una tabla que podría existir ya o no en el servicio. La tabla se valida en el lado servidor al intentar acceder a ella o realizar alguna una operación en ella.
ITableEntity Esta interfaz es la interfaz base de los elementos creados en la tabla o consultados desde la tabla. Esta interfaz incluye todas las propiedades necesarias para los elementos de la API de Table.
TableEntity Esta clase es una implementación genérica de la interfaz ITableEntity como diccionario de pares clave-valor.

En las siguientes guías se muestra cómo usar cada una de estas clases para crear tu aplicación.

Guía Description
Crear una tabla Creación de tablas
Creación de un elemento Creación de elementos
Lectura de un elemento Lectura de elementos

Consulte también

Pasos siguientes

Ahora que se ha conectado a una cuenta de la API para Table, use la siguiente guía para crear y administrar tablas.