Démarrage rapide : Générer une application web .NET à l’aide de l’API d’Azure Cosmos DB pour MongoDBQuickstart: Build a .NET web app using Azure Cosmos DB's API for MongoDB

Azure Cosmos DB est le service de base de données multi-modèle de Microsoft distribué à l’échelle mondiale.Azure Cosmos DB is Microsoft’s globally distributed multi-model database service. Rapidement, vous avez la possibilité de créer et d’interroger des documents, des paires clé/valeur et des bases de données orientées graphe, profitant tous de la distribution à l’échelle mondiale et des capacités de mise à l’échelle horizontale au cœur de 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.

Ce démarrage rapide montre comment créer un compte Cosmos avec l’API d’Azure Cosmos DB pour MongoDB.This quickstart demonstrates how to create a Cosmos account with Azure Cosmos DB's API for MongoDB. Vous allez ensuite créer et déployer une application web de liste des tâches à l’aide du pilote .NET MongoDB.You'll then build and deploy a tasks list web app built using the MongoDB .NET driver.

Configuration requise pour exécuter l’exemple d’applicationPrerequisites to run the sample app

Pour exécuter l’exemple, vous devez disposer de Visual Studio et d’un compte Azure Cosmos DB valide.To run the sample, you'll need Visual Studio and a valid Azure Cosmos DB account.

Si vous ne disposez pas de Visual Studio, téléchargez Visual Studio 2019 Community Edition avec la charge de travail Développement ASP.NET et web installée au moment de l’installation.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 vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Création d’un compte de base de donnéesCreate a database account

  1. Dans une nouvelle fenêtre du navigateur, connectez-vous au portail Azure.In a new browser window, sign in to the Azure portal.

  2. Dans le menu de gauche, sélectionnez Créer une ressource.In the left menu, select Create a resource.

    Créer une ressource dans le portail Azure

  3. Dans la page Nouveau, sélectionnez Bases de données > Azure Cosmos DB.On the New page, select Databases > Azure Cosmos DB.

    Volet Bases de données du portail Azure

  4. Dans la page Créer un compte Azure Cosmos DB, entrez les paramètres du nouveau compte Azure Cosmos DB.On the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    ParamètreSetting ValeurValue DescriptionDescription
    AbonnementSubscription Votre abonnementYour subscription Sélectionnez l’abonnement Azure que vous souhaitez utiliser pour ce compte Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Groupe de ressourcesResource Group CréationCreate new

    Entrez ensuite le même nom que le nom du compte.Then enter the same name as Account Name
    Sélectionnez Créer nouveau.Select Create new. Entrez ensuite le nom du nouveau groupe de ressources pour votre compte.Then enter a new resource group name for your account. Pour rester simple, utilisez le nom de votre compte Azure Cosmos DB.For simplicity, use the same name as your Azure Cosmos DB account name.
    Nom du compteAccount Name Entrer un nom uniqueEnter a unique name Entrez un nom unique pour identifier votre compte Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. L’URI de votre compte sera mongo.cosmos.azure.com apposé à votre nom de compte unique.Your account URI will be mongo.cosmos.azure.com appended to your unique account name.

    Le nom peut contenir uniquement des lettres minuscules, des chiffres et des traits d’union (-), et doit comporter entre 3 et 31 caractères.The account name can use only lowercase letters, numbers, and hyphens (-), and must be between 3 and 31 characters long.
    APIAPI API Azure Cosmos DB pour Mongo DBAzure Cosmos DB for Mongo DB API L’API détermine le type de compte à créer.The API determines the type of account to create. Azure Cosmos DB fournit cinq API : Core (SQL) pour les bases de données de documents, Gremlin pour les bases de données de graphes, API Azure Cosmos DB pour Mongo DB pour les bases de données de documents, Table Azure et 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. Actuellement, vous devez créer un compte distinct pour chaque API.Currently, you must create a separate account for each API.

    Sélectionnez API Azure Cosmos DB pour Mongo DB, car dans ce guide de démarrage rapide, vous allez créer une collection qui fonctionne avec MongoDB.Select Azure Cosmos DB for Mongo DB API because in this quickstart you are creating a collection that works with MongoDB.

    Découvrez-en plus sur l’API Azure Cosmos DB pour MongoDB.Learn more about Azure Cosmos DB for MongoDB API.
    EmplacementLocation Sélectionner la région la plus proche de vos utilisateursSelect the region closest to your users Sélectionnez la zone géographique dans laquelle héberger votre compte Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Utilisez l’emplacement le plus proche de vos utilisateurs pour leur donner l’accès le plus rapide possible aux données.Use the location that's closest to your users to give them the fastest access to the data.

    Sélectionnez Vérifier + créer.Select Review+Create. Vous pouvez ignorer les sections Réseau et Étiquettes.You can skip the Network and Tags section.

    Page de nouveau compte pour Azure Cosmos DB

  5. La création du compte prend quelques minutes.The account creation takes a few minutes. Attendez que le portail affiche la page Félicitations ! Votre compte d’API Azure Cosmos DB pour Mongo DB est prêt.Wait for the portal to display the Congratulations! Your Azure Cosmos DB for Mongo DB API account is ready page.

    Volet Notifications du portail Azure

L’exemple décrit dans cet article est compatible avec la version 2.6.1 du pilote MongoDB.Driver.The sample described in this article is compatible with MongoDB.Driver version 2.6.1.

Clonage de l’exemple d’applicationClone the sample app

Commencez par télécharger l’exemple d’application sur GitHub.First, download the sample app from GitHub.

  1. Ouvrez une invite de commandes, créez un nouveau dossier nommé git-samples, puis fermez l’invite de commandes.Open a command prompt, create a new folder named git-samples, then close the command prompt.

    md "C:\git-samples"
    
  2. Ouvrez une fenêtre de terminal git comme Git Bash et utilisez la commande cd pour accéder au nouveau dossier d’installation pour l’exemple d’application.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. Exécutez la commande suivante pour cloner l’exemple de référentiel :Run the following command to clone the sample repository. Cette commande crée une copie de l’exemple d’application sur votre ordinateur.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 vous ne souhaitez pas utiliser git, vous pouvez également télécharger le projet en tant que fichier .zip.If you don't wish to use git, you can also download the project as a ZIP file.

Vérifier le codeReview the code

Cette étape est facultative.This step is optional. Pour savoir comment les ressources de base de données sont créées dans le code, vous pouvez examiner les extraits de code suivants.If you're interested in learning how the database resources are created in the code, you can review the following snippets. Sinon, vous pouvez passer à l’étape Mise à jour de votre chaîne de connexion.Otherwise, you can skip ahead to Update your connection string.

Tous les extraits de code suivants proviennent du fichier Dal.cs dans le répertoire DAL.The following snippets are all taken from the Dal.cs file in the DAL directory.

  • Initialisez l’objet client.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);
    
  • Récupérez la base de données et la collection.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);
    
  • Récupérez tous les documents.Retrieve all documents.

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

Créez une tâche et insérer-la dans la collection.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 même, vous pouvez mettre à jour et supprimer des documents à l’aide des méthodes collection.UpdateOne() et collection.DeleteOne().Similarly, you can update and delete documents by using the collection.UpdateOne() and collection.DeleteOne() methods.

Mise à jour de votre chaîne de connexionUpdate your connection string

Maintenant, retournez dans le portail Azure afin d’obtenir les informations de votre chaîne de connexion et de les copier dans l’application.Now go back to the Azure portal to get your connection string information and copy it into the app.

  1. Dans le portail Azure, dans votre compte Cosmos, dans le volet de navigation de gauche, cliquez sur Chaîne de connexion, puis sur Clés en lecture-écriture.In the Azure portal, in your Cosmos account, in the left navigation click Connection String, and then click Read-write Keys. Vous utiliserez le bouton Copier sur le côté droit de l’écran pour copier le nom d’utilisateur, le mot de passe et l’hôte dans le fichier Dal.cs à l’étape suivante.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. Ouvrez le fichier Dal.cs dans le répertoire DAL.Open the Dal.cs file in the DAL directory.

  3. Copiez votre valeur nom d’utilisateur à partir du portail (à l’aide du bouton Copier) et définissez-la comme valeur de nom d’utilisateur dans le fichier 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. Puis, copiez votre valeur hôte à partir du portail et définissez-la comme valeur hôte dans votre fichier Dal.cs.Then copy your host value from the portal and make it the value of the host in your Dal.cs file.

  5. Puis, copiez votre valeur mot de passe à partir du portail et définissez-la comme valeur mot de passe dans votre fichier Dal.cs.Finally copy your password value from the portal and make it the value of the password in your Dal.cs file.

Vous venez de mettre à jour votre application avec toutes les informations nécessaires pour communiquer avec Cosmos DB.You've now updated your app with all the info it needs to communicate with Cosmos DB.

Exécuter l’application webRun the web app

  1. Dans Visual Studio, cliquez avec le bouton droit sur le nom du projet dans l’Explorateur de solutions, puis cliquez sur Gérer les packages NuGet.In Visual Studio, right-click on the project in Solution Explorer and then click Manage NuGet Packages.

  2. Dans la zone Parcourirde NuGet, tapez MongoDB.Driver.In the NuGet Browse box, type MongoDB.Driver.

  3. À partir des résultats, installez la bibliothèque MongoDB.Driver.From the results, install the MongoDB.Driver library. Cette opération permet d’installer le package MondoDB.Driver ainsi que toutes les dépendances.This installs the MongoDB.Driver package as well as all dependencies.

  4. Appuyez sur Ctrl + F5 pour exécuter l’application.Click CTRL + F5 to run the application. Votre application s’affiche dans votre navigateur.Your app displays in your browser.

  5. Cliquez sur Créer dans le navigateur et créez quelques tâches dans votre application de liste des tâches.Click Create in the browser and create a few new tasks in your task list app.

Vérification des contrats SLA dans le portail AzureReview SLAs in the Azure portal

Le portail Azure supervise le débit, le stockage, la disponibilité, la latence et la cohérence de votre compte Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Des graphiques de métriques associées à un contrat de niveau Service (SLA) Azure Cosmos DB montrent la valeur des contrats SLA par rapport aux performances réelles.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Cette suite de métriques vous permet de superviser vos contrats SLA de manière transparente.This suite of metrics makes monitoring your SLAs transparent.

Pour consulter les métriques et les contrats SLA :To review metrics and SLAs:

  1. Sélectionnez Métriques dans le menu de navigation de votre compte Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Sélectionnez un onglet comme Latence, puis sélectionnez un intervalle de temps à droite.Select a tab such as Latency, and select a timeframe on the right. Comparez les lignes Réel et SLA des graphiques.Compare the Actual and SLA lines on the charts.

    Suite de métriques d’Azure Cosmos DB

  3. Consultez les métriques des autres onglets.Review the metrics on the other tabs.

Nettoyer les ressourcesClean up resources

Quand vous en avez terminé avec votre application et votre compte Azure Cosmos DB, vous pouvez supprimer les ressources Azure que vous avez créées afin d’éviter des frais supplémentaires.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. Pour supprimer les ressources :To delete the resources:

  1. Depuis la barre de recherche du portail Azure, recherchez et sélectionnez Groupes de ressources.In the Azure portal Search bar, search for and select Resource groups.

  2. Dans la liste, sélectionnez le groupe de ressources créé pour ce guide de démarrage rapide.From the list, select the resource group you created for this quickstart.

    Sélectionner le groupe de ressources à supprimer

  3. Dans la page Vue d’ensemble du groupe de ressources, sélectionnez Supprimer un groupe de ressources.On the resource group Overview page, select Delete resource group.

    Supprimer le groupe de ressources

  4. Dans la fenêtre suivante, entrez le nom du groupe de ressources à supprimer, puis sélectionnez Supprimer.In the next window, enter the name of the resource group to delete, and then select Delete.

Étapes suivantesNext steps

Dans ce guide de démarrage rapide, vous avez appris à créer un compte Cosmos, à créer une collection et à exécuter une application console.In this quickstart, you've learned how to create a Cosmos account, create a collection and run a console app. Vous pouvez maintenant importer des données supplémentaires dans votre base de données Cosmos.You can now import additional data to your Cosmos database.