Compartir vía


Adición de Azure Cosmos DB a la aplicación mediante Servicios conectados de Visual Studio

Con Visual Studio, puede conectar cualquiera de las siguientes opciones a Azure Cosmos DB mediante la característica Servicios conectados:

  • Aplicación de consola de .NET Framework
  • modelo ASP.NET:View-Controller (MVC) (.NET Framework)
  • ASP.NET Core
  • .NET Core (incluida la aplicación de consola, WPF, Windows Forms, biblioteca de clases)
  • Rol de trabajo de .NET Core
  • Comprobación de
  • Aplicación de la Plataforma universal de Windows
  • Xamarin
  • Córdoba

La funcionalidad del servicio conectado agrega todas las referencias necesarias y el código de conexión al proyecto y modifica los archivos de configuración correctamente.

Prerrequisitos

Conexión a Azure Cosmos DB mediante servicios conectados

  1. Abra el proyecto en Visual Studio.

  2. En el Explorador de soluciones, haga clic derecho en el nodo Servicios conectados y, en el menú contextual, seleccione Agregar Servicio Conectado.

    Si no ve el nodo Servicios conectados, elija Proyecto>Servicios conectados>Agregar.

  3. En la pestaña Servicios conectados, seleccione el icono + de Dependencias de servicio.

    Captura de pantalla que muestra cómo agregar una dependencia de servicio.

  4. En la página Agregar dependencia, seleccione Azure Cosmos DB.

    Captura de pantalla que muestra la pantalla

    Si aún no ha iniciado sesión, inicie sesión en su cuenta de Azure. Si no tiene una cuenta de Azure, puede registrarse para obtener una evaluación gratuita de .

  5. En la pantalla de Azure Cosmos DB, seleccione una instancia de Azure Cosmos DB existente y seleccione Siguiente.

    Si necesita crear una base de datos, vaya al paso siguiente. De lo contrario, vaya al paso 7.

    Captura de pantalla que muestra cómo agregar un proyecto de Azure Cosmos DB existente.

  6. Para crear un Azure Cosmos DB:

    1. Seleccione Crear una nueva base de datos de Azure Cosmos DB en la parte inferior de la pantalla.

    2. Rellene la pantalla Azure Cosmos DB: Crear nueva y seleccione Crear.

      Captura de pantalla que muestra la pantalla

    3. Cuando se muestre el cuadro de diálogo Configurar Azure Cosmos DB, la nueva base de datos aparecerá en la lista. Seleccione la nueva base de datos de la lista y seleccione Siguiente.

  7. Escriba un nombre de cadena de conexión y elija si desea la cadena de conexión almacenada en un archivo de secretos locales o en Azure Key Vault.

    Captura de pantalla que muestra la pantalla

  8. En la pantalla Resumen de cambios se muestran todas las modificaciones que se realizarán en el proyecto si completa el proceso. Si los cambios parecen correctos, seleccione Finalizar.

    Captura de pantalla que muestra la pantalla

  9. La conexión aparece en la sección Dependencias de servicio de la pestaña Servicios conectados.

    Captura de pantalla que muestra la sección

Nota

En el caso de los proyectos de .NET Framework, la interfaz de usuario de servicios conectados es ligeramente diferente. Para ver las diferencias, compare con la versión Visual Studio 2019 de esta página.

  1. Abra el proyecto en Visual Studio.

  2. En Explorador de soluciones, haga clic con el botón derecho en el nodo Servicios Conectados y, en el menú contextual, seleccione Agregar para abrir el menú de servicios disponibles.

    Captura de pantalla que muestra las opciones del menú contextual servicios conectados.

    Si no ve el nodo Servicios conectados, elija Proyecto>Servicios conectados>Agregar.

  3. Elija Azure Cosmos DB. Aparece la página Conectarse a la dependencia. Debería ver dos opciones, una para un emulador local, emulador de Azure Cosmos DB en el contenedor (local)y otra para conectarse al servicio de Azure Cosmos DB activo. Puede reducir el costo y simplificar el desarrollo anticipado empezando por el emulador local. Puede migrar al servicio activo más adelante repitiendo estos pasos y eligiendo la otra opción.

    Captura de pantalla que muestra las opciones de Azure Cosmos DB.

    Si decide usar el emulador de Azure Cosmos DB, haga clic en Siguiente para ver la pantalla Resumen de cambios , que muestra cómo se está modificando el proyecto. Se agrega una referencia de paquete NuGet al proyecto y se agrega el código de conexión para el emulador local al proyecto. Una vez que haga clic en Finalizar en la última pantalla, se crea el contenedor del emulador; Verá el estado de descarga de la imagen en la ventana de salida.

    Si desea conectarse al servicio de Azure, continúe con el paso siguiente o, si aún no ha iniciado sesión, inicie sesión en su cuenta de Azure antes de continuar. Si no tiene una cuenta de Azure, puede registrarse para obtener una evaluación gratuita de .

  4. En la pantalla de Azure Cosmos DB, seleccione una instancia de Azure Cosmos DB existente y seleccione Siguiente.

    Si necesita crear una base de datos, vaya al paso siguiente. De lo contrario, vaya al paso 7.

    Captura de pantalla que muestra la pantalla

  5. Para crear un Azure Cosmos DB:

    1. Seleccione Crear una nueva Azure Cosmos DB en la parte inferior de la pantalla.

    2. Rellene la pantalla Azure Cosmos DB: Crear nueva y seleccione Crear.

      Captura de pantalla que muestra la pantalla

    3. Cuando se muestra el cuadro de diálogo Configurar instancia de Azure Cosmos DB, la nueva base de datos aparece en la lista. Seleccione la nueva base de datos de la lista y seleccione Siguiente.

  6. Escriba un nombre de cadena de conexión y elija si desea la cadena de conexión almacenada en un archivo de secretos locales o en Azure Key Vault.

    Captura de pantalla que muestra la pantalla

    La cadena de conexión se agrega como un secreto y está disponible en la configuración de la aplicación. En ASP.NET aplicaciones core, puede acceder a esta cadena de conexión mediante la propiedad Configuration en el objeto WebApplicationBuild.

  7. En la pantalla Resumen de cambios se muestran todas las modificaciones que se realizarán en el proyecto si completa el proceso. Si los cambios parecen correctos, seleccione Finalizar.

    Captura de pantalla que muestra la pantalla

  8. En el Explorador de soluciones, haga doble clic en el nodo Servicios Conectados para abrir la pestaña Servicios Conectados. La conexión aparece en la sección Dependencias del Servicio:

    Captura de pantalla que muestra

    Si hace clic en los tres puntos junto a la dependencia que agregó, puede ver varias opciones, como Conectar para volver a abrir el asistente y cambiar la conexión. También puede hacer clic en los tres puntos situados en la parte superior derecha de la ventana para ver las opciones para iniciar las dependencias locales, cambiar la configuración y mucho más.

  9. De forma predeterminada, el límite de memoria del contenedor se establece en 2G, pero normalmente se requiere más memoria para ejecutar Azure Cosmos DB. Para corregirlo, vaya a la carpeta .vs/sd/<GUID>/local en la carpeta de la solución. En el Explorador de Windows, es posible que tenga que habilitar archivos ocultos para ver la carpeta .vs. Busque y abra el archivo cosmosdb1.docker-compose.yml. Establezca un límite de memoria 4G o superior.

    mem_limit = 4G
    

    Para reiniciar el contenedor con la nueva configuración, en la sección Dependencias del Servicio de la pestaña Servicios Conectados, haga clic en los tres puntos y elija Iniciar dependencias locales.

Nota

El emulador local de Azure Cosmos DB podría hacer referencia a una imagen base que usa una licencia temporal para Azure Cosmos DB. Si el contenedor no se inicia, compruebe la pestaña Registros en la ventana Contenedores* para el contenedor de Azure Cosmos DB. Si menciona un problema de expiración de PAL, debe obtener la imagen base más reciente para el contenedor local. Ejecute el siguiente comando desde el símbolo del sistema de consola: docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest. La licencia se actualiza periódicamente y, cuando expira, la actualización al contenedor más reciente debe resolver el problema. Puede ver y notificar problemas del emulador de Azure Cosmos DB en el repositorio de GitHub del emulador de Azure Cosmos DB .

Pasos siguientes

Aprenda a almacenar secretos de forma segura como se indica en Almacenamiento seguro de secretos de aplicaciones en desarrollo en ASP.NET Core. En concreto, para leer la cadena de conexión del almacén de secretos, puede agregar código como se indica en Lectura del secreto mediante la API de configuración. El código podría tener este aspecto, donde builder es una instancia de WebApplicationBuild que aparece en Program.cs en ASP.NET plantillas de proyecto Core:

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

El CosmosClient proporciona acceso a la funcionalidad de Azure Cosmos DB a través de sus diversos métodos. Una vez que tenga una instancia de CosmosClient, puede crear una base de datos NoSQL siguiendo esta guía: Creación de una base de datos en Azure Cosmos DB para NoSQL mediante .NET.