Conectar-se aos serviços do Azure, gRPC, OpenAPI e muito mais

Os desenvolvedores estão criando aplicativos com um número crescente de serviços, mas as tecnologias de serviço estão evoluindo tão rápido quanto.

Com os Serviços Conectados do Visual Studio, você obtém uma experiência de consumo de serviço moderna, que permite que cada serviço adapte a experiência de consumo lhe fazendo perguntas relevantes necessárias para você começar rapidamente.

Os Serviços Conectados incluem uma coleção de ferramentas no Visual Studio que ajudam você a conectar seu aplicativo ao seguinte:

  • Serviços do Azure
  • Pontos de extremidade OpenAPI
  • Pontos de extremidade gRPC (Chamada de Procedimento Remoto)
  • Pontos de extremidade do WCF (Windows Communication Foundation)
  • Bancos de dados e provedores de dados

Comece clicando com o botão direito do mouse no nó Serviços Conectados no Gerenciador de Soluções e selecione Gerenciar Serviços Conectados.

Comece clicando com o botão direito do mouse no nó do projeto e escolhendo Adicionar > Serviço Conectado. Você também pode clicar com o botão direito do mouse no nó Serviços Conectados no Gerenciador de Soluções e escolher um serviço específico a ser adicionado.

Os tipos de projeto com suporte variam de acordo com o tipo de serviço. Você verá as opções que se aplicam ao tipo do seu projeto nas seleções listadas.

Várias assinaturas do Visual Studio incluem créditos de Desenvolvimento/Teste individual do Azure. Se você for assinante do Visual Studio, poderá usar esses créditos para experimentar vários serviços do Azure sem custo. Se você não for assinante e não tiver uma assinatura do Azure, poderá criar uma conta gratuita.

Conectar seu aplicativo aos serviços do Azure

Use os Serviços Conectados para conectar seu aplicativo a emuladores de serviços do Azure dinâmicos e outras alternativas locais aos serviços do Azure. No momento, o Visual Studio dá suporte ao seguinte:

Nome Descrição
Configuração de Aplicativos do Azure Acessar configurações de chave-valor e sinalizadores de recursos que são gerenciados de maneira centralizada no Azure.
Azure App Insights Fornece gerenciamento e monitoramento de desempenho de aplicativos extensível para aplicativos Web dinâmicos.
Serviço de Aplicativo do Azure Fornece hospedagem escalonável e de serviço completo para aplicativos Web dinâmicos.
Azure Functions Fornece serviços escalonáveis de computação sob demanda para APIs Web e muito mais.
Armazenamento do Azure Armazenamento em nuvem escalonável com suporte para blobs, tabelas, filas, discos.
Serviço Azure SignalR Funcionalidade da Web em tempo real via HTTP.
Azure Key Vault Armazenamento em nuvem protegido para chaves criptográficas e outros segredos usados por seus aplicativos do Azure.
Banco de Dados SQL do Azure Banco de dados SQL hospedado na nuvem.
Cache do Azure para Redis Armazenamento de dados na memória com base no software do Redis.
Azure Cosmos DB Um banco de dados NoSQL totalmente gerenciado para um desenvolvimento de aplicativos modernos.
Plataforma de identidade da Microsoft Autenticação com identidades da Microsoft e contas sociais.

Observação

Ao usar o recurso Publicar, você pode implantar seu aplicativo em serviços de hospedagem do Azure, como VMs do Azure, Serviço de Aplicativo do Azure, Azure Functions e Registro de Contêiner do Azure

Bancos de dados e provedores de dados

O Visual Studio fornece opções para se conectar a bancos de dados locais, versões emuladas localmente de provedores de dados, bem como a serviços de banco de dados do Azure.

Nome Descrição
Emulador do Azure Cosmos DB no contêiner Emulador do Azure Cosmos DB em execução em um contêiner local.
MongoDB no contêiner Os bancos de dados de documentos do MongoDB fornecem alta confiabilidade e escalabilidade fácil. Essa opção o disponibiliza em um contêiner local.
PostgreSQL no contêiner O PostgreSQL é um sistema de banco de dados relacional de objetos que fornece confiabilidade e integridade de dados. Essa opção o disponibiliza em um contêiner local.
SQLite O SQLite é uma biblioteca em processo que fornece um mecanismo de banco de dados SQL transacional independente e sem configuração.
Banco de dados SQL Server Banco de dados do SQL Server local.

Suporte para emuladores do Azure e alternativas locais

O Visual Studio facilita o desenvolvimento de aplicativos do Azure localmente simplificando a transição de serviços emulados localmente para serviços em execução na nuvem. Você pode usar os Serviços Conectados para conectar seu aplicativo a emuladores locais, sendo alguns que são executados em um contêiner local, e a outras alternativas locais aos serviços do Azure. No momento, o Visual Studio dá suporte ao seguinte:

O Visual Studio gera qualquer código de cliente ou servidor necessário para facilitar a comunicação.

Nome Descrição
Emulador do Azure Cosmos DB no contêiner Emulador do Azure Cosmos DB em execução em um contêiner local.
Emulador de Armazenamento do Azure O Azurite é um emulador do Armazenamento do Azure executado em seu computador local.
SDK do Application Insights Modo local do serviço Application Insights.
RabbitMQ no contêiner O RabbitMQ é um agente de mensagens de vários protocolos de código aberto. Essa opção o disponibiliza em um contêiner local.
Cache do Azure para Redis em contêiner Cache do Azure para Redis hospedado em um contêiner local.
Secrets.json Alternativa local ao Key Vault.
SQL Server Express LocalDB Alternativa local ao Banco de Dados SQL do Azure.

Conectar seu aplicativo a pontos de extremidade gRPC, OpenAPI e WCF

Use os Serviços Conectados para conectar seu aplicativo a qualquer um dos seguintes serviços:

Nome Link do ASP.NET Descrição
Pontos de extremidade OpenAPI Desenvolver aplicativos ASP.NET Core com o OpenAPI Um formato padrão para descrever os recursos de um serviço em formato legível por computador e legível por humanos.
Pontos de extremidade gRPC Introdução aos serviços gRPC no .NET Um serviço de chamada de procedimento em tempo real de código aberto.
Pontos de extremidade do WCF N/D Uma solução do .NET Framework que dá suporte à programação com uma rede distribuída de serviços.

Contêineres

Os Serviços Conectados podem ajudar você a executar dependências de aplicativo que estão emulando serviços do Azure localmente em um contêiner. Por exemplo, você pode executar o emulador do Armazenamento do Azure, chamado Azurite, em um contêiner local. A próxima seção descreve o suporte que o Visual Studio fornece para fazer a transição de seu aplicativo do modo de desenvolvimento, quando você está usando esses serviços de simulação em contêineres, para usar os serviços reais em execução no Azure.

Configurações locais e conectadas

Durante o desenvolvimento, você geralmente usa um emulador local, um banco de dados local ou um serviço de simulação em execução em um contêiner local. Quando você usa o processo de publicação no Visual Studio para implantar na nuvem, seja no Azure, no Docker Hub ou outro ambiente remoto com suporte, o Visual Studio pode orientá-lo durante a transição para se conectar aos serviços e bancos de dados reais. Ao clicar com o botão direito do mouse no nó do projeto no Gerenciador de Soluções e escolher Publicar, você será guiado na implantação do aplicativo na nuvem, mas depois disso, as dependências de serviço configuradas anteriormente para uso local agora serão mostradas na interface do usuário dos Serviços Conectados com um ícone amarelo de cuidado e um link Configurar:

Screenshot showing the Configure option in the Connected Services tab.

Se você clicar nesses links, o Visual Studio apresentará algumas telas que solicitam as informações de conexão com o serviço "real" em execução na nuvem que seu aplicativo de nuvem usará em vez do serviço local. Por exemplo, se você configurou inicialmente um aplicativo para ser executado com uma instância em execução local do SQL LocalDB, você forneceu um nome de cadeia de conexão e um valor inicial que referenciava esse banco de dados LocalDB. Depois que o aplicativo for implantado pela primeira vez em um ambiente de nuvem, você poderá usar os links Configurar para especificar a cadeia de conexão a ser usada na nuvem. Para cenários de implantação do Azure, o Visual Studio também oferece a opção de usar um Azure Key Vault para armazenar com segurança a cadeia de conexão e outros segredos.

Screenshot showing the options presented to replace the SQL LocalDB service with a real database connection.

Como ele funciona

O Visual Studio cria dois novos arquivos que ficam visíveis no Gerenciador de Soluções em Propriedades, e são chamados serviceDependencies.json e serviceDependencies.local.json. É seguro fazer check-in desses dois arquivos, pois eles não contêm segredos.

O Visual Studio também cria um arquivo chamado serviceDependencies.local.json.user que não fica visível no Gerenciador de Soluções por padrão. Esse arquivo contém informações que podem ser consideradas segredo (por exemplo, IDs de recurso no Azure) e não recomendamos que você faça check-in.