Conexión a servicios de Azure, gRPC, OpenAPI y mucho más

Los desarrolladores están creando aplicaciones con un número cada vez mayor de servicios, pero las tecnologías de servicios evolucionan con la misma rapidez.

Con los Servicios conectados de Visual Studio puede conseguir una moderna experiencia de consumo de servicios que permite a cada servicio la capacidad de adaptar su experiencia de consumo, solicitándole las preguntas más importantes que necesita para empezar rápidamente.

Los servicios conectados incluyen una colección de herramientas de Visual Studio que le ayudarán a conectar la aplicación a lo siguiente:

  • Servicios de Azure
  • Puntos de conexión de OpenAPI
  • Puntos de conexión gRPC (llamada a procedimiento remoto)
  • Puntos de conexión en Windows Communication Foundation (WCF)
  • Bases de datos y proveedores de datos

Para comenzar, haga clic con el botón derecho en el nodo Servicios conectados en el Explorador de soluciones y seleccione Administrar servicios conectados.

Para empezar, haga clic con el botón derecho en el nodo y escoja Agregar > Servicio conectado. También puede hacer clic con el botón derecho en el nodo Servicios conectados en el Explorador de soluciones y elegir un servicio concreto para agregar.

Los tipos de proyecto admitidos varían según el tipo de servicio. Verá las opciones que se aplican al tipo de proyecto en las selecciones enumeradas.

Muchas suscripciones a Visual Studio incluyen créditos individuales de Desarrollo/pruebas Azure Dev/Test. Si es suscriptor de Visual Studio, puede utilizar estos créditos para probar varios servicios de Azure sin coste alguno. Si no está abonado y no dispone de una suscripción a Azure, puede crear una cuenta gratuita.

Conexión de la aplicación a los servicios de Azure

Use los servicios conectados para conectar la aplicación a emuladores de servicios de Azure en vivo y otras alternativas locales a los servicios de Azure. En la actualidad, Visual Studio admite los siguientes:

Nombre Descripción
Azure App Configuration Acceda a la configuración de clave-valor y a las marcas de características que se administran de forma centralizada en Azure.
Azure App Insights Proporciona administración del rendimiento de aplicaciones extensible y supervisión de aplicaciones web en vivo.
Azure App Service Proporciona un hospedaje completo y escalable de aplicaciones web en vivo.
Funciones de Azure Proporciona servicios de proceso a petición escalables para API web y mucho más.
Almacenamiento de Azure Almacenamiento en la nube escalable con compatibilidad con blobs, tablas, colas y discos.
Servicio Azure SignalR Funcionalidad web en tiempo real a través de HTTP.
Azure Key Vault Proteja el almacenamiento en la nube para claves criptográficas y otros secretos usados por las aplicaciones de Azure.
Azure SQL Database SQL Database hospedada en la nube.
Azure Cache for Redis Almacén de datos en memoria basado en el software Redis.
Azure Cosmos DB Una base de datos NoSQL totalmente administrada para el desarrollo de aplicaciones modernas.
Plataforma de identidad de Microsoft Autenticación con identidades de Microsoft y cuentas sociales.

Nota

Al usar Publicar puede implementar la aplicación en servicios de hospedaje de Azure como máquinas virtuales de Azure, Azure App Service, Azure Functions y Azure Container Registry.

Bases de datos y proveedores de datos

Visual Studio proporciona opciones para conectarse a bases de datos locales, versiones emuladas localmente de proveedores de datos y servicios de base de datos de Azure.

Nombre Descripción
Emulador de Azure Cosmos DB en contenedor Emulador de Azure Cosmos DB que se ejecuta en un contenedor local.
MongoDB en contenedor Las bases de datos de documentos de MongoDB proporcionan alta confiabilidad y escalabilidad sencilla. Esta opción hace que esté disponible en un contenedor local.
PostgreSQL en contenedor PostgreSQL es un sistema de base de datos relacional de objetos que proporciona confiabilidad e integridad de datos. Esta opción hace que esté disponible en un contenedor local.
SQLite SQLite es una biblioteca en proceso que incluye un motor de base de datos independiente y transaccional de SQL Server sin configuración.
Base de datos de SQL Server Base de datos SQL Server local.

Compatibilidad con emuladores de Azure y alternativas locales

Visual Studio facilita el desarrollo local de aplicaciones de Azure al facilitar la transición de los servicios emulados localmente a los servicios que se ejecutan en la nube. Puede usar los servicios conectados para conectar la aplicación a emuladores locales, algunos de los cuales se ejecutan en un contenedor local, y otras alternativas locales a los servicios de Azure. En la actualidad, Visual Studio admite los siguientes:

Visual Studio genera el código de cliente o servidor que sea necesario para facilitar la comunicación.

Nombre Descripción
Emulador de Azure Cosmos DB en contenedor Emulador de Azure Cosmos DB que se ejecuta en un contenedor local.
Emulador de Azure Storage Azurite es un emulador de Azure Storage que se ejecuta en el equipo local.
SDK de Application Insights Modo local para el servicio Application Insights.
RabbitMQ en contenedor RabbitMQ es un agente de mensajes de varios protocolos de código abierto. Esta opción hace que esté disponible en un contenedor local.
Azure Cache for Redis en contenedor Azure Cache for Redis hospedado en un contenedor local.
Secrets.json Alternativa local para Key Vault.
SQL Server Express LocalDB Alternativa local a Azure SQL Database.

Conexión de la aplicación a puntos de conexión gRPC, OpenAPI y WCF

Use los servicios conectados para conectar la aplicación a cualquiera de los siguientes servicios:

Nombre Vínculo de ASP.NET Descripción
Puntos de conexión de OpenAPI Compatibilidad con OpenAPI en aplicaciones de API de ASP.NET Core Formato estándar para describir las funcionalidades de un servicio en formato legible por el usuario y por equipos.
Puntos de conexión gRPC Introducción a los servicios gRPC en .NET Procedimiento en tiempo real de código abierto que llama al servicio.
Puntos de conexión en WCF N/D Solución de .NET Framework que admite la programación con una red distribuida de servicios.

Contenedores

Los servicios conectados pueden ayudarle a ejecutar dependencias de aplicación que emulan servicios de Azure localmente en un contenedor. Por ejemplo, puede ejecutar localmente el emulador de Azure Storage denominado Azurite en un contenedor. En la sección siguiente se describe qué compatibilidad proporciona Visual Studio para la transición de la aplicación del modo de desarrollo, cuando se usan estos servicios ficticios en contenedores, al uso de los servicios reales que se ejecutan en Azure.

Configuraciones locales y conectadas

Durante el desarrollo, normalmente se usa un emulador local, una base de datos local o un servicio ficticio que se ejecuta en un contenedor local. Cuando se usa el proceso de publicación en Visual Studio para implementar en la nube, ya sea Azure, Docker Hub u otro entorno remoto compatible, Visual Studio puede guiarlo a través de la transición a la conexión a los servicios y bases de datos reales. Al hacer clic con el botón derecho en el nodo del proyecto en Explorador de soluciones y elegir Publicar, se le guiará por la implementación de la aplicación en la nube, pero después de eso, las dependencias de servicio que configuró anteriormente para uso local se muestran ahora en la interfaz de usuario de Servicios conectados con un icono de precaución amarillo y el vínculo Configurar:

Captura de pantalla que muestra la opción Configurar en la pestaña Servicios conectados.

Si hace clic en esos vínculos, Visual Studio mostrará algunas pantallas en las que se solicita la información de conexión al servicio "real" que se ejecuta en la nube que la aplicación en la nube usará en lugar del servicio local. Por ejemplo, si configuró inicialmente una aplicación para ejecutarse con una instancia de ejecución local de SQL LocalDB, habría proporcionado un nombre de cadena de conexión y un valor inicial que hace referencia a esa base de datos LocalDB. Una vez que la aplicación se implemente por primera vez en un entorno de nube, puede usar los vínculos Configurar para especificar la cadena de conexión que se usará en la nube. En escenarios de implementación de Azure, Visual Studio también ofrece la opción de usar un Azure Key Vault para almacenar de forma segura la cadena de conexión y otros secretos.

Captura de pantalla que muestra las opciones presentadas para reemplazar el servicio SQL LocalDB por una conexión de base de datos real.

Funcionamiento

Visual Studio crea dos nuevos archivos visibles en el Explorador de soluciones en Propiedades denominados serviceDependencies.json y serviceDependencies.local.json. Ambos archivos son seguros para su inserción en el repositorio, ya que no contienen secretos.

Visual Studio también crea un archivo denominado serviceDependencies.local.json.user que no está visible en Explorador de soluciones de forma predeterminada. Este archivo contiene información que podría considerarse un secreto (por ejemplo, identificadores de recursos en Azure) y no se recomienda que lo inserte en el repositorio.