Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo conectarse a Azure Cosmos DB para NoSQL mediante el SDK de JavaScript. Una vez conectado, puede realizar operaciones en bases de datos, contenedores y elementos.
Paquete (npm) | Referencia de la API | Código fuente de la biblioteca | Enviar comentarios
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Cuenta de Azure Cosmos DB for NoSQL. Cree una API para la cuenta noSQL.
- Node.js LTS
- Interfaz de la línea de comandos (CLI) de Azure o Azure PowerShell
Configure su proyecto local
Cree un nuevo directorio para su proyecto de JavaScript en un shell Bash.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samplesCree una nueva aplicación de JavaScript mediante el
npm initcomando con la plantilla de consola .npm init -yInstale la dependencia necesaria para el SDK de JavaScript de Azure Cosmos DB para NoSQL.
npm install @azure/cosmos
Conéctate a Azure Cosmos DB para NoSQL
Para conectarse a la API para NoSQL de Azure Cosmos DB, cree una instancia de la CosmosClient clase . Esta clase es el punto inicial para realizar todas las operaciones en bases de datos.
Para conectarse a la API de la cuenta NoSQL mediante Microsoft Entra, use una entidad de seguridad. El tipo exacto de entidad de seguridad dependerá de dónde hospede 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 |
| Azur | Identidad administrada |
| Servidores o clientes fuera de Azure | Entidad de servicio |
Importar @azure/identity
El paquete npm de @azure/identity contiene la funcionalidad de autenticación principal que se comparte entre todas las bibliotecas del SDK de Azure.
Importe el paquete npm de @azure/identity mediante el
npm installcomando .npm install @azure/identityEn el editor de código, agregue las dependencias.
const { DefaultAzureCredential } = require("@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. A continuación, cree una nueva instancia de la clase CosmosClient con la COSMOS_ENDPOINT variable de entorno y el objeto TokenCredential como parámetros.
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: 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 cuenta de API para NoSQL, que es el espacio de nombres único de nivel superior para los datos de Azure Cosmos DB.
Bases de datos, que organizan los contenedores de la cuenta.
Contenedores, que contienen un conjunto de elementos individuales en la base de datos.
Elementos, que representan un documento JSON en tu contenedor.
En el diagrama siguiente se muestra la relación entre estos recursos.
Diagrama jerárquico que muestra una cuenta de Azure Cosmos DB en la parte superior. La cuenta tiene dos nodos de base de datos secundarios. Uno de los nodos de la base de datos incluye dos nodos de contenedor secundarios. El otro nodo de la base de datos incluye un único nodo de contenedor secundario. Ese nodo de contenedor único tiene tres nodos de elementos secundarios.
Cada tipo de recurso se representa mediante una o varias clases asociadas. Esta es una lista de las clases más comunes:
| Class | Description |
|---|---|
CosmosClient |
Esta clase 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. |
Database |
Esta clase es una referencia a una base de datos que puede existir, o no, en el servicio. La base de datos se valida en el lado servidor al intentar acceder a ella o realizar una operación en ella. |
Container |
Esta clase es una referencia a un contenedor que todavía no existe en el servicio. El contenedor se valida en el lado servidor al intentar trabajar con él. |
En las siguientes guías se muestra cómo usar cada una de estas clases para compilar la aplicación.
| Guía | Description |
|---|---|
| Creación de una base de datos | Creación de bases de datos |
| Creación de un contenedor | Creación de contenedores |
| Creación y lectura de un elemento | Lectura puntual de un elemento específico |
| Elementos de consulta | Consulta de varios elementos |