Inicio rápido: Compilación de una aplicación web .NET mediante la API de Azure Cosmos DB para MongoDBQuickstart: Build a .NET web app using Azure Cosmos DB's API for MongoDB

Azure Cosmos DB es un servicio de base de datos con varios modelos y de distribución global de Microsoft.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. Puede crear rápidamente bases de datos de documentos, clave-valor y grafos, y realizar consultas en ellas. Todas las bases de datos se beneficiarán de las funcionalidades de distribución global y escala horizontal en Cosmos DB.You can quickly create and query document, key/value and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Cosmos DB.

En este inicio rápido se muestra cómo crear una cuenta de Cosmos con la API de Azure Cosmos DB para MongoDB.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. Después, compilará e implementará una aplicación web de lista de tareas compilada mediante el controlador .NET de MongoDB.You'll then build and deploy a tasks list web app built using the MongoDB .NET driver.

Requisitos previos para ejecutar la aplicación de ejemploPrerequisites to run the sample app

Para ejecutar el ejemplo, necesitará Visual Studio y una cuenta de Azure Cosmos DB válida.To run the sample, you'll need Visual Studio and a valid Azure Cosmos DB account.

Si no tiene Visual Studio, descargue Visual Studio 2019 Community Edition con la carga de trabajo ASP.NET y desarrollo web instalada con el programa de instalación.If you don't already have Visual Studio, download Visual Studio 2019 Community Edition with the ASP.NET and web development workload installed with setup.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Creación de una cuenta de base de datosCreate a database account

  1. En una nueva ventana del explorador, inicie sesión en Azure Portal.In a new browser window, sign in to the Azure portal.

  2. En el menú de la izquierda, seleccione Crear un recurso.In the left menu, select Create a resource.

    Crear un recurso en Azure Portal

  3. En la página Nuevo, seleccione Bases de datos > Azure Cosmos DB.On the New page, select Databases > Azure Cosmos DB.

    El panel de las bases de datos de Azure Portal

  4. En la página Crear una cuenta de Azure Cosmos DB, especifique la configuración de la nueva cuenta de Azure Cosmos DB.On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    ConfiguraciónSetting ValueValue DescripciónDescription
    SubscriptionSubscription Su suscripciónYour subscription Seleccione la suscripción de Azure que quiere usar para esta cuenta de Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupo de recursosResource Group Crear nuevoCreate new

    A continuación, escriba el mismo nombre que el nombre de cuenta.Then enter the same name as Account Name
    Seleccione Crear nuevo.Select Create new. Luego, escriba un nombre nuevo de grupo de recursos para la cuenta.Then enter a new resource group name for your account. Para simplificar, use el mismo nombre que el de la cuenta de Azure Cosmos DB.For simplicity, use the same name as your Azure Cosmos DB account name.
    Nombre de cuentaAccount Name Escriba un nombre único.Enter a unique name Escriba un nombre único para identificar la cuenta de Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. El URI de la cuenta será mongo.cosmos.azure.com y se anexará al nombre único de la cuenta.Your account URI will be mongo.cosmos.azure.com appended to your unique account name.

    El nombre de la cuenta solo puede utilizar letras minúsculas, números y guiones (-), y debe tener entre 3 y 31 caracteres de longitud.The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI Azure Cosmos DB para la API de Mongo DBAzure Cosmos DB for Mongo DB API La API determina el tipo de cuenta que se va a crear.The API determines the type of account to create. Azure Cosmos DB proporciona cinco API: Core (SQL) para bases de datos de documentos, Gremlin para bases de datos de grafos, API Mongo DB de Azure Cosmos DB para bases de datos de documentos, Azure Table y Cassandra.Azure Cosmos DB provides five APIs: Core (SQL) for document databases, Gremlin for graph databases, Azure Cosmos DB for Mongo DB API for document databases, Azure Table, and Cassandra. Actualmente, debe crear una cuenta independiente para cada API.Currently, you must create a separate account for each API.

    Seleccione Azure Cosmos DB para la API de Mongo DB, ya que en este inicio rápido va a crear una colección que funciona con MongoDB.Select Azure Cosmos DB for Mongo DB API because in this quickstart you are creating a collection that works with MongoDB.

    Obtenga más información sobre Azure Cosmos DB para la API de Mongo DB.Learn more about Azure Cosmos DB for MongoDB API.
    LocationLocation Seleccionar la región más cercana a los usuariosSelect the region closest to your users Seleccione una ubicación geográfica para hospedar la cuenta de Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Use la ubicación más cercana a los usuarios para proporcionarles el acceso más rápido a los datos.Use the location that's closest to your users to give them the fastest access to the data.

    Seleccione Revisar y crear.Select Review+Create. Puede omitir las secciones Red y Etiquetas.You can skip the Network and Tags section.

    Página de la nueva cuenta de Azure Cosmos DB

  5. La cuenta tarda unos minutos en crearse.The account creation takes a few minutes. Espere a que el portal muestre la página ¡Enhorabuena! Su cuenta de Azure Cosmos DB para la API de Mongo DB está a punto.Wait for the portal to display the Congratulations! Your Azure Cosmos DB for Mongo DB API account is ready page.

    El panel de las notificaciones de Azure Portal

El ejemplo que se describe en este artículo es compatible con la versión 2.6.1 de MongoDB.Driver.The sample described in this article is compatible with MongoDB.Driver version 2.6.1.

Clonación de la aplicación de ejemploClone the sample app

En primer lugar, descargue la aplicación de ejemplo de GitHub.First, download the sample app from GitHub.

  1. Abra un símbolo del sistema, cree una carpeta nueva denominada ejemplos de GIT y, después, cierre el símbolo del sistema.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Abra una ventana de terminal de Git, como git bash y utilice el comando cd para cambiar a la nueva carpeta para instalar la aplicación de ejemplo.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Ejecute el comando siguiente para clonar el repositorio de ejemplo.Run the following command to clone the sample repository. Este comando crea una copia de la aplicación de ejemplo en el equipo.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-mongodb-dotnet-getting-started.git
    

Si no desea usar git, también puede descargar el proyecto como un archivo ZIP.If you don't wish to use git, you can also download the project as a ZIP file.

Revisión del códigoReview the code

Este paso es opcional.This step is optional. Si está interesado en aprender cómo se crean los recursos de base de datos en el código, puede revisar los siguientes fragmentos de código.If you're interested in learning how the database resources are created in the code, you can review the following snippets. En caso contrario, puede ir directamente a Actualización de la cadena de conexión.Otherwise, you can skip ahead to Update your connection string.

Los fragmentos de código siguientes se han tomado del archivo Dal.cs en el directorio DAL.The following snippets are all taken from the Dal.cs file in the DAL directory.

  • Inicialice el cliente.Initialize the client.

        MongoClientSettings settings = new MongoClientSettings();
        settings.Server = new MongoServerAddress(host, 10255);
        settings.UseSsl = true;
        settings.SslSettings = new SslSettings();
        settings.SslSettings.EnabledSslProtocols = SslProtocols.Tls12;
    
        MongoIdentity identity = new MongoInternalIdentity(dbName, userName);
        MongoIdentityEvidence evidence = new PasswordEvidence(password);
    
        settings.Credential = new MongoCredential("SCRAM-SHA-1", identity, evidence);
    
        MongoClient client = new MongoClient(settings);
    
  • Recupere la base de datos y la colección.Retrieve the database and the collection.

    private string dbName = "Tasks";
    private string collectionName = "TasksList";
    
    var database = client.GetDatabase(dbName);
    var todoTaskCollection = database.GetCollection<MyTask>(collectionName);
    
  • Recupere todos los documentos.Retrieve all documents.

    collection.Find(new BsonDocument()).ToList();
    

Cree una tarea e insértela en la colección.Create a task and insert it into the collection

 public void CreateTask(MyTask task)
 {
     var collection = GetTasksCollectionForEdit();
     try
     {
         collection.InsertOne(task);
     }
     catch (MongoCommandException ex)
     {
         string msg = ex.Message;
     }
 }

De forma similar, puede actualizar y eliminar los documentos mediante los métodos collection.UpdateOne() y collection.DeleteOne().Similarly, you can update and delete documents by using the collection.UpdateOne() and collection.DeleteOne() methods.

Actualización de la cadena de conexiónUpdate your connection string

Ahora vuelva a Azure Portal para obtener la información de la cadena de conexión y cópiela en la aplicación.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. En Azure Portal, en la cuenta de Cosmos, en el panel de navegación izquierdo, haga clic en Cadena de conexión y en Claves de lectura y escritura.In the Azure portal, in your Cosmos account, in the left navigation click Connection String, and then click Read-write Keys. Deberá usar los botones de copia del lado derecho de la pantalla para copiar el nombre de usuario, la contraseña y el host en el archivo Dal.cs en el paso siguiente.You'll use the copy buttons on the right side of the screen to copy the Username, Password, and Host into the Dal.cs file in the next step.

  2. Abra el archivo Dal.cs en el directorio DAL.Open the Dal.cs file in the DAL directory.

  3. Copie el valor del nombre de usuario del portal (con el botón de copia) y conviértalo en el valor del nombre de usuario en el archivo Dal.cs.Copy your username value from the portal (using the copy button) and make it the value of the username in your Dal.cs file.

  4. Después, copie el valor del host del portal y conviértalo en el valor del host en el archivo Dal.cs.Then copy your host value from the portal and make it the value of the host in your Dal.cs file.

  5. Por último, copie el valor de la contraseña del portal y conviértalo en el valor de la contraseña en el archivo Dal.cs.Finally copy your password value from the portal and make it the value of the password in your Dal.cs file.

Ya ha actualizado la aplicación con toda la información que necesita para comunicarse con Cosmos DB.You've now updated your app with all the info it needs to communicate with Cosmos DB.

Ejecución de la aplicación webRun the web app

  1. En Visual Studio, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y, después, haga clic en Administrar paquetes NuGet.In Visual Studio, right-click on the project in Solution Explorer and then click Manage NuGet Packages.

  2. En el cuadro Examinar de NuGet, escriba MongoDB.Driver.In the NuGet Browse box, type MongoDB.Driver.

  3. En los resultados, instale la biblioteca MongoDB.Driver.From the results, install the MongoDB.Driver library. De este modo, se instalan el paquete de MongoDB.Driver y todas las dependencias.This installs the MongoDB.Driver package as well as all dependencies.

  4. Haga clic en CTRL + F5 para ejecutar la aplicación.Click CTRL + F5 to run the application. La aplicación se muestra en el explorador.Your app displays in your browser.

  5. Haga clic en Crear en el explorador y cree algunas tareas en la aplicación de lista de tareas.Click Create in the browser and create a few new tasks in your task list app.

Revisión de los SLA en Azure PortalReview SLAs in the Azure portal

Azure Portal supervisa el rendimiento, capacidad de almacenamiento, disponibilidad, latencia y coherencia de su cuenta de Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Los gráficos de las métricas asociadas con un Acuerdo de Nivel de Servicio (SLA) de Azure Cosmos DB muestran el rendimiento real en comparación con el valor de este acuerdo.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Este conjunto de métricas hace que la supervisión de los Acuerdos de Nivel de Servicio sea transparente.This suite of metrics makes monitoring your SLAs transparent.

Para revisar las métricas y los Acuerdos de Nivel de Servicio:To review metrics and SLAs:

  1. Seleccione Métricas en el menú de navegación de la cuenta de Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Seleccione una pestaña como Latencia y seleccione un período de tiempo a la derecha.Select a tab such as Latency, and select a timeframe on the right. Compare las líneas Real y SLA de los gráficos.Compare the Actual and SLA lines on the charts.

    Conjunto de métricas de Azure Cosmos DB

  3. Revise las métricas de las otras pestañas.Review the metrics on the other tabs.

Limpieza de recursosClean up resources

Cuando haya terminado tanto con la aplicación como con la cuenta de Azure Cosmos DB, puede eliminar los recursos de Azure que creó para no tener más gastos.When you're done with your app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. Para eliminar los recursos:To delete the resources:

  1. En la barra de búsqueda de Azure Portal, busque y seleccione Grupos de recursos.In the Azure portal Search bar, search for and select Resource groups.

  2. En la lista, seleccione el grupo de recursos que creó para este inicio rápido.From the list, select the resource group you created for this quickstart.

    Selección del grupo de recursos que se eliminará

  3. En la página Información general del grupo de recursos, seleccione Eliminar grupo de recursos.On the resource group Overview page, select Delete resource group.

    Eliminar el grupo de recursos

  4. En la ventana siguiente, escriba el nombre del grupo de recursos que desea eliminar y, después, seleccione Eliminar.In the next window, enter the name of the resource group to delete, and then select Delete.

Pasos siguientesNext steps

En este inicio rápido, ha aprendido a crear una cuenta de Cosmos, crear una colección y ejecutar una aplicación de consola.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. Ahora puede importar datos adicionales en la base de datos de Cosmos.You can now import additional data to your Cosmos database.