Partilhar via


Adicionar o Azure Cosmos DB ao seu aplicativo usando o Visual Studio Connected Services

Com o Visual Studio, pode-se conectar qualquer um dos seguintes itens ao Azure Cosmos DB usando o recurso Serviços Conectados:

  • Aplicativo de console do .NET Framework
  • Modelo ASP.NET -View-Controller (MVC) (.NET Framework)
  • ASP.NET Core
  • .NET Core (incluindo aplicativo de console, WPF, Windows Forms, biblioteca de classes)
  • Função de trabalho principal do .NET
  • Funções do Azure
  • Aplicativo da Plataforma Universal do Windows
  • Córdova

A funcionalidade de serviço conectado adiciona todas as referências necessárias e código de conexão ao seu projeto e modifica seus arquivos de configuração adequadamente.

Pré-requisitos

Conectar-se ao Azure Cosmos DB usando os Serviços Conectados

Observação

Para projetos do .NET Framework, a interface do usuário do Connected Services é ligeiramente diferente. Para ver as diferenças, compare com a versão Visual Studio 2019 desta página.

  1. Abra seu projeto no Visual Studio.

  2. No Gerenciador de Soluções , clique com o botão direito do mouse no nó Serviços Conectados e, no menu de contexto, selecione Adicionar para abrir o menu de serviços disponíveis.

    Captura de ecrã a mostrar as opções do menu de contexto dos Serviços Ligados.

    Se não vir o nó Serviços Conectados, escolha Projeto>Serviços Conectados>Adicionar.

  3. Escolha Azure Cosmos DB. A página Conectar à dependência é exibida. Você verá duas opções, uma para um emulador local Emulador do Azure Cosmos DB no contêiner (Local)e outra para se conectar ao serviço Azure Cosmos DB ao vivo. Você pode reduzir custos e simplificar o desenvolvimento inicial começando com o emulador local. Você pode migrar para o serviço ao vivo mais tarde, repetindo essas etapas e escolhendo a outra opção.

    Captura de tela mostrando as opções do Azure Cosmos DB.

    Se você optar por usar o Emulador do Azure Cosmos DB, clique em Avançar para ver a tela Resumo das alterações, que mostra como seu projeto está sendo modificado. Uma referência de pacote NuGet é adicionada ao seu projeto e o código de conexão para o emulador local é adicionado ao seu projeto. Depois de clicar em Concluir na última tela, o contêiner para o emulador é criado; você verá o status do download da imagem na janela de saída.

    Se você quiser se conectar ao serviço do Azure, continue para a próxima etapa ou, se ainda não estiver conectado, entre na sua conta do Azure antes de continuar. Se não tiver uma conta do Azure, pode inscrever-se para uma avaliação gratuita .

  4. Na tela do Azure Cosmos DB, selecione um Azure Cosmos DB existente e selecione Avançar.

    Se você precisar criar um banco de dados, vá para a próxima etapa. Caso contrário, pule para a etapa 7.

    Captura de tela mostrando a tela

  5. Para criar um Azure Cosmos DB:

    1. Selecione Criar uma nova Azure Cosmos DB na parte inferior da tela.

    2. Preencha o ecrã Azure Cosmos DB: Criar novo e escolha Criar .

      Captura de ecrã de

    3. Quando a caixa de diálogo Configure Azure Cosmos DB é exibida, o novo banco de dados aparece na lista. Selecione o novo banco de dados na lista e selecione Avançar.

  6. Insira um nome de cadeia de conexão e escolha se deseja que a cadeia de conexão seja armazenada em um arquivo secreto local ou em Azure Key Vault.

    Captura de tela mostrando a tela

    A cadeia de conexão é adicionada como um segredo e disponibilizada na configuração do aplicativo. Em aplicativos ASP.NET Core, você pode acessar essa cadeia de conexão usando a propriedade Configuration no objeto WebApplicationBuilder.

    Observação

    Com o Visual Studio 2022 versão 17.12 e posterior, este procedimento usa a identidade gerenciada do Microsoft Entra, um método de autenticação sem senha, para se conectar ao banco de dados. O aviso nesta tela significa que você precisa executar uma etapa manual na CLI do Azure depois de concluir este procedimento no Visual Studio. Consulte Utilize o controle de acesso baseado em funções do plano de dados com o Azure Cosmos DB para NoSQL.

  7. A tela Resumo das alterações mostra todas as modificações que serão feitas no seu projeto se você concluir o processo. Se as alterações parecerem estar corretas, escolha Concluir.

    Captura de ecrã a mostrar

  8. No Explorador de Soluções, clique duas vezes no nó Serviços Conectados para abrir a guia Serviços Conectados. A conexão aparece na seção Dependências de Serviço.

    Captura de tela mostrando

    Se você clicar nos três pontos ao lado da dependência adicionada, poderá ver várias opções, como Connect para reabrir o assistente e alterar a conexão. Você também pode clicar nos três pontos no canto superior direito da janela para ver as opções para iniciar dependências locais, alterar configurações e muito mais.

  9. Por padrão, o limite de memória no contêiner é definido como 2G, mas, normalmente, é necessária mais memória para executar o Azure Cosmos DB. Para corrigir isso, navegue até a pasta .vs/sd/<GUID>/local na pasta da solução. No Explorador do Windows, poderá ter de ativar ficheiros ocultos para ver a pasta .vs. Localize e abra o arquivo cosmosdb1.docker-compose.yml. Defina um limite de memória 4G ou superior.

    mem_limit = 4G
    

    Para reiniciar o contêiner com a nova configuração, na seção Dependências de Serviço da guia Serviços Conectados, clique nos três pontos e escolha Iniciar dependências locais.

Observação

O emulador local do Azure Cosmos DB pode fazer referência a uma imagem base que usa uma licença temporária para o Azure Cosmos DB. Se o contêiner não iniciar, verifique a aba Logs na janela Contêineres* do Azure Cosmos DB. Se ele mencionar um problema de expiração de PAL, você precisará obter a imagem base mais recente para o contêiner local. Execute o seguinte comando no prompt do console: docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest. A licença é atualizada periodicamente e, quando expira, a atualização para o contêiner mais recente deve resolver o problema. Você pode visualizar e relatar problemas para o emulador do Azure Cosmos DB no repositório GitHub do emulador do Azure Cosmos DB.

Próximos passos

Saiba como armazenar segredos com segurança seguindo Armazenamento seguro de segredos de aplicativos em desenvolvimento no ASP.NET Core. Em particular, para ler a cadeia de conexão do armazenamento de segredos, você pode adicionar código como em Leia o segredo por meio da API de configuração. O código pode ter esta aparência, onde builder é uma instância de WebApplicationBuild que aparece em Program.cs nos modelos de projeto do ASP.NET Core.

// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
    connectionString: builder.Configuration["CosmosDBConnectionString"]
);

O CosmosClient fornece acesso à funcionalidade do Azure Cosmos DB por meio de seus vários métodos. Depois de ter uma instância do CosmosClient, você pode criar um banco de dados NoSQL seguindo este guia: Criar um banco de dados no Azure Cosmos DB para NoSQL usando o .NET.