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.
Este artigo mostra-lhe como se ligar ao Azure Cosmos DB para NoSQL usando o SDK JavaScript. Uma vez ligado, pode realizar operações em bases de dados, contentores e itens.
Pacote (npm) | Referência da API | Código-fonte da biblioteca | Fornecer Feedback
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Azure Cosmos DB para conta NoSQL. Crie uma API para uma conta NoSQL.
- Node.js LTS
- Azure Command-Line Interface (CLI) ou Azure PowerShell
Configure o seu projeto local
Crie um novo diretório para o seu projeto JavaScript num bash shell.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samplesCrie uma nova aplicação JavaScript usando o
npm initcomando com o modelo da consola .npm init -yInstale a dependência necessária para o Azure Cosmos DB for NoSQL JavaScript SDK.
npm install @azure/cosmos
Conectar-se ao Azure Cosmos DB para NoSQL
Para se ligar à API de NoSQL da Azure Cosmos DB, crie uma instância da classe CosmosClient. Essa classe é o ponto de partida para executar todas as operações em bancos de dados.
Para se ligar à sua API para a conta NoSQL usando o Microsoft Entra, utilize um princípio de segurança. O tipo exato de principal depende de onde hospeda o código da aplicação. 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 |
Importação @azure/identity
O pacote npm @azure/identity contém funcionalidades essenciais de autenticação que são partilhadas entre todas as bibliotecas do SDK do Azure.
Importa o pacote npm @azure/identidade usando o
npm installcomando.npm install @azure/identityNo teu editor de código, adiciona as dependências.
const { DefaultAzureCredential } = require("@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. Depois cria uma nova instância da classe CosmosClient com a COSMOS_ENDPOINT variável ambiente e o 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
});
Compilar a aplicação
À medida que você cria seu aplicativo, seu código interage principalmente com quatro tipos de recursos:
A API para a conta NoSQL, que é o único namespace de nível superior para os seus dados do Azure Cosmos DB.
Bases de dados, que organizam os contentores na sua conta.
Contêineres, que contêm um conjunto de itens individuais em seu banco de dados.
Itens, que representam um documento JSON em seu contêiner.
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 banco de dados subordinados. Um dos nós de banco de dados inclui dois nós de contêiner filho. O outro nó do banco de dados inclui um único nó de contêiner filho. Esse único nó de contêiner tem três nós de item filho.
Cada tipo de recurso é representado por uma ou mais classes associadas. Aqui está uma lista das classes mais comuns:
| Class | Description |
|---|---|
CosmosClient |
Essa classe 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. |
Database |
Esta classe é uma referência a uma base de dados que pode, ou não, existir ainda no serviço. A base de dados é validada do lado do servidor quando tenta aceder a ela ou realizar uma operação contra ela. |
Container |
Esta classe é uma referência a um contentor que também pode ainda não existir no serviço. O contentor é validado do lado do servidor quando tentas trabalhar com ele. |
Os seguintes guias mostram-lhe como usar cada uma destas classes para construir a sua aplicação.
| Guia | Description |
|---|---|
| Criar uma base de dados | Criar bases de dados |
| Criar um contêiner | Criar contêineres |
| Crie e leia um item | Leitura direcionada de um item específico |
| Itens de consulta | Consultar múltiplos itens |