Introdução ao Azure Cosmos DB for MongoDB usando o .NET
APLICA-SE AO: MongoDB
Este artigo mostra como se conectar ao Azure Cosmos DB for MongoDB usando o .NET Core e os pacotes NuGet relevantes. Depois de conectar-se, será possível executar operações em bancos de dados, coleções e documentos.
Observação
Os snippets de código de exemplo estão disponíveis no GitHub como um projeto .NET Core.
Documentação de referência da API for MongoDB | Pacote do MongoDB (NuGet)
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- .NET 6.0
- Interface de linha de comando do Azure (CLI) ou Azure PowerShell
- Recurso do Azure Cosmos DB for MongoDB
Criar um aplicativo .NET Core
Crie um aplicativo .NET Core em uma pasta vazia usando seu terminal de preferência. Para este cenário, você usará um aplicativo de console. Use o comando
dotnet new
para criar e nomear o aplicativo de console.dotnet new console -o app
Adicione o pacote NuGet do MongoDB ao projeto do console. Use o
dotnet add package
comando que especifica o nome do pacote NuGet.dotnet add package MongoDB.Driver
Para executar o aplicativo, use um terminal para navegar até o diretório do aplicativo e execute o aplicativo.
dotnet run
Conectar-se ao Azure Cosmos DB for MongoDB com o driver nativo do MongoDB
Para conectar-se ao Azure Cosmos DB com o driver nativo do MongoDB, crie uma instância da classe MongoClient
. Essa classe é o ponto de partida para executar todas as operações em bancos de dados MongoDB. O construtor mais comum para MongoClient aceita uma cadeia de conexão, que pode ser recuperada seguindo estas etapas:
Obter nome do recurso
Crie uma variável de shell para resourceGroupName.
# Variable for resource group name resourceGroupName="msdocs-cosmos"
Use o comando
az cosmosdb list
para recuperar o nome da primeira conta do Azure Cosmos DB em seu grupo de recursos e armazená-lo na variável de shell accountName.# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
Recuperar sua cadeia de conexão
Localize a cadeia de conexão da API do MongoDB na lista de cadeias de conexão da conta com o comando
az cosmosdb keys list
.az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
Copie os valores de PRIMARY KEY. Você usará essas credenciais mais tarde.
Configurar variáveis de ambiente
Para usar os valores de CONNECTION STRING no código, defina esse valor no ambiente local que executa o aplicativo. Para definir a variável de ambiente, use seu terminal preferido para executar os seguintes comandos:
$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"
Criar MongoClient com cadeia de conexão
Defina uma nova instância da classe MongoClient
usando o construtor e a variável de cadeia de conexão que você definiu anteriormente.
// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));
var settings = client.Settings;
Console.WriteLine(settings.Server.Host);
Usar classes do cliente do MongoDB com a API do Azure Cosmos DB para MongoDB
Antes de começar a criar o aplicativo, vamos examinar a hierarquia de recursos no Azure Cosmos DB. O Azure Cosmos DB tem um modelo de objeto específico que é usado para criar e acessar recursos. Ele cria recursos em uma hierarquia que consiste em contas, bancos de dados, contêineres e documentos.
Diagrama hierárquico mostrando uma conta de banco de dados do Azure Cosmos DB na parte superior. A conta tem dois nós de banco de dados filho. Um dos nós de banco de dados inclui dois nós de coleção filho. O outro nó de banco de dados inclui um nó de coleção filho único. Esse nó de coleção única tem três nós de documento filho.
Cada tipo de recurso é representado por uma ou mais classes C# associadas. Aqui está uma lista das classes mais comuns:
Classe | Descrição |
---|---|
MongoClient |
Esta classe fornece a representação lógica do lado do cliente da camada da API para MongoDB no Azure Cosmos DB. Esse objeto do cliente é usado para configurar e executar solicitações no serviço. |
MongoDatabase |
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 ou criado no lado do servidor quando você tenta executar uma operação nele. |
Collection |
Esta classe é uma referência a uma coleção que também pode não existir no serviço ainda. A coleção é validada no lado do servidor quando você tenta trabalhar com ela. |
Os guias a seguir mostram como usar cada uma dessas classes para compilar o aplicativo e gerenciar dados.
Guia:
- Gerenciar bancos de dados
- Gerenciar coleções
- Gerenciar documentos
- Usar consultas para localizar documentos
Confira também
Próximas etapas
Agora que você se conectou a uma conta da API para MongoDB, use o próximo guia para criar e gerenciar bancos de dados.