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.
APLICA-SE A: NoSQL
Este artigo mostra como se conectar ao Azure Cosmos DB para NoSQL usando o SDK do JavaScript. Uma vez conectado, você pode executar operações em bancos de dados, contêineres e itens.
Pacote (npm) | Referência da API | Código-fonte da biblioteca | Enviar comentários
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Conta para NoSQL do Azure Cosmos DB. Crie uma API para uma conta NoSQL.
- Node.js LTS
- Interface de Linha de Comando (CLI) do Azure ou Azure PowerShell
Configure o seu projeto local
Crie um novo diretório para seu projeto JavaScript em um shell bash.
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samplesCrie um novo aplicativo JavaScript usando o
npm initcomando com o modelo de console .npm init -yInstale a dependência necessária para o SDK JavaScript do Azure Cosmos DB for NoSQL.
npm install @azure/cosmos
Conectar-se ao Azure Cosmos DB para NoSQL
Para se conectar à API para NoSQL do Azure Cosmos DB, crie uma instância da CosmosClient classe. Essa classe é o ponto de partida para executar todas as operações em bancos de dados.
Para se conectar à sua API para conta NoSQL usando o Microsoft Entra, use uma entidade de segurança. O tipo exato de entidade depende 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 entidade de serviço |
| Azure | Identidade gerida |
| Servidores ou clientes fora do Azure | Principal de Serviço |
Importação @azure/identity
O pacote npm @azure/identity contém a funcionalidade de autenticação principal que é compartilhada entre todas as bibliotecas do SDK do Azure.
Importe o pacote npm @azure/identity usando o
npm installcomando.npm install @azure/identityNo editor de códigos, adicione as dependências.
const { DefaultAzureCredential } = require("@azure/identity");
Criar CosmosClient com implementação de credenciais padrão
Se você estiver testando em uma máquina local ou se seu aplicativo for executado nos serviços do Azure com suporte direto para identidades gerenciadas, obtenha um token OAuth criando uma DefaultAzureCredential instância. Em seguida, crie uma nova instância da classe CosmosClient com a COSMOS_ENDPOINT variável de 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 conta NoSQL, que é o namespace de nível superior exclusivo para 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 mostrando uma conta do Azure Cosmos DB na parte superior. A conta tem dois nós de banco de dados filhos. 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:
| Classe | Descrição |
|---|---|
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 |
Essa classe é uma referência a um banco de dados que pode, ou não, existir no serviço ainda. O banco de dados é validado no lado do servidor quando você tenta acessá-lo ou executar uma operação em relação a ele. |
Container |
Essa classe é uma referência a um contêiner que também pode não existir no serviço ainda. O contêiner é validado no lado do servidor quando você tenta trabalhar com ele. |
Os guias a seguir mostram como usar cada uma dessas classes para criar seu aplicativo.
| Guia | Descrição |
|---|---|
| Criar uma base de dados | Criar bases de dados |
| Criar um contêiner | Criar contêineres |
| Criar e ler um item | Ponto de leitura de um item específico |
| Itens de consulta | Consultar vários itens |