Ajouter Azure Cosmos DB à votre application à l’aide de Services connectés Visual Studio

Avec Visual Studio, vous pouvez connecter les éléments suivants à Azure Cosmos DB à l’aide de la fonctionnalité Services connectés :

  • Applications console .NET Framework
  • ASP.NET Model-View-Controller (MVC) (.NET Framework)
  • ASP.NET Core
  • .NET Core (y compris l’application console, WPF, Windows Forms, bibliothèque de classes)
  • Rôle de travail .NET Core
  • Azure Functions
  • Application de plateforme Windows universelle
  • Xamarin
  • Cordova

La fonctionnalité de service connecté ajoute l’ensemble des références et du code de connexion nécessaires à votre projet, et modifie vos fichiers de configuration de manière appropriée.

Notes

Cette rubrique s’applique à Visual Studio sur Windows. Pour Visual Studio pour Mac, consultez Services connectés dans Visual Studio pour Mac.

Prérequis

Se connecter à Azure Cosmos DB à l’aide de Services connectés

  1. Ouvrez votre projet dans Visual Studio.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud Services connectés, puis, dans le menu contextuel, sélectionnez Ajouter un service connecté.

  3. Sous l’onglet Services connectés, sélectionnez l’icône + pour les Dépendances de service.

    Screenshot showing how to add a service dependency.

  4. Dans la page Ajouter une dépendance, sélectionnez Azure Cosmos DB.

    Screenshot showing

    Si vous n’êtes pas déjà connecté, connectez-vous à votre compte Azure. Si vous n’en avez pas, vous pouvez demander un essai gratuit.

  5. Dans l’écran Azure Cosmos DB, sélectionnez une instance Azure Cosmos DB existante, puis sélectionnez Suivant.

    Si vous devez créer une base de données, passez à l’étape suivante. Sinon, passez à l’étape 7.

    Screenshot showing how to add an existing Azure Cosmos DB to project.

  6. Pour créer une instance Azure Cosmos DB :

    1. Sélectionnez Créer une instance Azure Cosmos DB en bas de l’écran.

    2. Remplissez l’écran Azure Cosmos DB : Créer un nouveau, puis sélectionnez Créer.

      Screenshot showing

    3. Lorsque la boîte de dialogue Configurer Azure Cosmos DB s’affiche, la nouvelle base de données apparaît dans la liste. Sélectionnez la nouvelle base de données dans la liste, puis sélectionnez Suivant.

  7. Entrez un nom de chaîne de connexion, puis choisissez si vous souhaitez que la chaîne de connexion soit stockée dans un fichier de secrets local, soit dans Azure Key Vault.

    Screenshot showing

  8. L’écran Résumé des modifications affiche toutes les modifications qui seront apportées à votre projet si vous terminez le processus. Si les modifications semblent correctes, choisissez Terminer.

    Screenshot showing

  9. La connexion apparaît sous la section Dépendances de service de l’onglet Services connectés.

    Screenshot showing

Note

Pour les projets .NET Framework, l’interface utilisateur de Services connectés est légèrement différente. Pour voir les différences, comparez à la version Visual Studio 2019 de cette page.

  1. Ouvrez votre projet dans Visual Studio.

  2. Dans Explorateur de solutions, cliquez avec le bouton de droite sur le nœud Services connectés, puis, dans le menu contextuel, sélectionnez Ajouter pour ouvrir le menu des services disponibles.

    Screenshot showing Connected Services context menu options.

  3. Choisissez Azure Cosmos DB. La page Se connecter à la dépendance s’affiche. Vous devriez voir deux options, l’une pour un émulateur local, Émulateur Azure Cosmos DB et l’autre pour la connexion au service de Azure Cosmos DB en direct. Vous pouvez réduire les coûts et simplifier le développement précoce en commençant par l’émulateur local. Vous pouvez migrer vers le service actif ultérieurement en répétant ces étapes et en choisissant l’autre option.

    Screenshot showing Azure Cosmos DB choices.

    Si vous choisissez d’utiliser l’Émulateur Azure Cosmos DB, cliquez sur Suivant pour afficher l’écran Résumé des modifications, qui montre comment votre projet est modifié. Une référence de package NuGet est ajoutée à votre projet et le code de connexion de l’émulateur local est ajouté à votre projet. Une fois que vous avez cliqué sur Terminer dans le dernier écran, le conteneur de l’émulateur est créé, et vous voyez l’état de téléchargement de l’image dans la fenêtre de sortie.

    Si vous souhaitez vous connecter au service Azure, passez à l’étape suivante ou, si vous n’êtes pas déjà connecté, connectez-vous à votre compte Azure avant de continuer. Si vous n’en avez pas, vous pouvez demander un essai gratuit.

  4. Dans l’écran Azure Cosmos DB, sélectionnez une instance Azure Cosmos DB existante, puis sélectionnez Suivant.

    Si vous devez créer une base de données, passez à l’étape suivante. Sinon, passez à l’étape 7.

    Screenshot showing

  5. Pour créer une instance Azure Cosmos DB :

    1. Sélectionnez Créer une instance Azure Cosmos DB en bas de l’écran.

    2. Remplissez l’écran Azure Cosmos DB : Créer un nouveau, puis sélectionnez Créer.

      Screenshot showing

    3. Lorsque la boîte de dialogue Configurer Azure Cosmos DB s’affiche, la nouvelle base de données apparaît dans la liste. Sélectionnez la nouvelle base de données dans la liste, puis sélectionnez Suivant.

  6. Entrez un nom de chaîne de connexion, puis choisissez si vous souhaitez que la chaîne de connexion soit stockée dans un fichier de secrets local, soit dans Azure Key Vault.

    Screenshot showing

    La chaîne de connexion est ajoutée comme secret et rendue disponible dans la configuration de l’application. Dans les applications ASP.NET Core, vous pouvez accéder à cette chaîne de connexion en utilisant la propriété Configuration sur l’objet WebApplicationBuild.

  7. L’écran Résumé des modifications affiche toutes les modifications qui seront apportées à votre projet si vous terminez le processus. Si les modifications semblent correctes, choisissez Terminer.

    Screenshot showing

  8. Dans Explorateur de solutions, double-cliquez sur le nœud Services connectés pour ouvrir l’onglet Services connectés. La connexion apparaît sous la section Dépendances de service :

    Screenshot showing

    Si vous cliquez sur les trois points en regard de la dépendance que vous avez ajoutée, vous pouvez voir différentes options telles que Se connecter pour rouvrir l’Assistant et modifier la connexion. Vous pouvez également cliquer sur les trois points en haut à droite de la fenêtre pour afficher les options permettant de démarrer les dépendances locales, de modifier les paramètres, etc.

  9. Par défaut, la limite de mémoire dans le conteneur est définie sur 2G, mais davantage de mémoire est normalement nécessaire pour exécuter Azure Cosmos DB. Pour résoudre ce problème, rendez-vous dans le dossier .vs/sd/<GUID>/local sous votre dossier de solution. Dans l’Explorateur Windows, il vous faudra peut-être activer les fichiers masqués pour afficher le dossier .vs. Recherchez et ouvrez le fichier cosmosdb1.docker-compose.yml. Paramétrez une limite de mémoire 4G ou supérieure.

    mem_limit = 4G
    

    Pour redémarrer le conteneur avec le nouveau paramètre, dans la section Dépendances de service de l’onglet Services connectés, cliquez sur les trois petits points et choisissez Démarrer les dépendances locales.

Remarque

L’émulateur local pour Azure Cosmos DB peut référencer une image de base qui utilise une licence temporaire pour Azure Cosmos DB. Si le conteneur ne démarre pas, vérifiez l’onglet Journaux dans la fenêtre Conteneurs* du conteneur Azure Cosmos DB. Si ce dernier mentionne un problème d’expiration PAL, vous devez obtenir la dernière image de base pour le conteneur local. Exécutez la commande suivante à partir de l’invite de commande : docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest La licence est régulièrement mise à jour et, lorsqu’elle expire, l’actualisation vers le conteneur le plus récent devrait résoudre le problème. Vous pouvez voir et signaler des problèmes pour l’émulateur Azure Cosmos DB dans le référentiel GitHub de l’émulateur Azure Cosmos DB.

Étapes suivantes

Découvrez comment stocker des secrets en toute sécurité en suivant Stockage sécurisé des secrets d’application en cours de développement dans ASP.NET Core. En particulier, pour lire la chaîne de connexion à partir du magasin de secrets, vous pouvez ajouter du code comme indiqué sur la page Lecture du secret avec l’API de configuration. Le code peut se présenter comme suit, où builder est une instance de WebApplicationBuild qui se trouve dans Program.cs pour les modèles de projet ASP.NET Core :

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

CosmosClient fournit l’accès à la fonctionnalité Azure Cosmos DB par le biais de ses différentes méthodes. Une fois que vous avez une instance de CosmosClient, vous pouvez créer une base de données NoSQL en suivant ce guide : Créer une base de données NoSQL dans Azure Cosmos DB avec .NET.