Préparer

Effectué

Vous créez une application .NET qui importe et interroge des données dans un conteneur Azure Cosmos DB for NoSQL. Ici, nous discutons des objectifs globaux du projet et de la façon dont vous implémentez la fonctionnalité d’importation et de requête. En outre, nous expliquons comment configurer le compte API pour NoSQL dont vous avez besoin.

Illustration de l’icône d’un compte Azure Cosmos DB.

Vue d’ensemble du projet

L’objectif de ce projet est de générer et de valider une application console .NET qui charge et interroge des éléments dans un conteneur d’API pour NoSQL. L’application .NET utilise le kit SDK .NET pour Azure Cosmos DB for NoSQL afin d’interagir avec une instance de service dans Azure. Le code du projet utilise des lots transactionnels pour créer plusieurs éléments connexes simultanément. Le code du projet utilise également des requêtes, représentées sous forme de chaînes, pour confirmer que les éléments ont été correctement chargés.

L’organigramme suivant représente la logique métier que l’application doit effectuer :

Diagramme d’un organigramme montrant les étapes de création et d’envoi de lots de client.

Les tâches clés que vous devez effectuer sont les suivantes :

  1. Créez un compte Azure Cosmos DB et configurez l’authentification.
  2. Configurez une application console .NET et ajoutez une référence de package au Kit de développement logiciel (SDK) Azure pour .NET (Microsoft.Azure.Cosmos).
  3. Créer des ressources de base de données et de conteneur.
  4. Ajouter un seul élément en tant qu’opération simple.
  5. Créez quatre éléments à l’aide d’un lot transactionnel.
  6. Exécuter et observer les résultats d’une requête.

Programme d’installation

Pour mener à bien ce projet, vous avez besoin d’un compte API pour NoSQL.

Créer un compte Azure Cosmos DB for NoSQL

Le compte API pour NoSQL permet de stocker les données que vous créez dans ce projet et d’exécuter des requêtes. Cette section vous guide tout au long des étapes de création d’un compte à l’aide d’Azure CLI directement dans le terminal Azure Cloud Shell.

  1. Créez un compte API pour NoSQL à l’aide d’un suffixe unique dans le groupe de ressources [nom du groupe de ressources de bac à sable].

    az cosmosdb create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name "mslearn-nosql-$((RANDOM*RANDOM))"
    

    Important

    Ce groupe de ressources a déjà été créé par le bac à sable.

  2. Attendez que la commande se termine une fois le nouveau compte créé. La création d’un compte peut prendre quelques minutes.

    Conseil

    Vous pouvez accéder à votre nouveau compte API pour NoSQL à l’aide du portail Azure.

Activer l’authentification Microsoft Entra pour le point de terminaison

Maintenant que vous disposez d’un compte API pour NoSQL, vous pouvez utiliser le groupe de commandes az cosmosdb d’Azure CLI pour obtenir les informations du compte. Dans cette section, vous allez activer l’authentification Microsoft Entra pour le compte et obtenir son point de terminaison.

  1. Tout d’abord, obtenez les noms des comptes API pour NoSQL créés les plus récemment à l’aide de az cosmosdb list. Enregistrez le nom, car vous en aurez besoin à l’étape suivante.

    az cosmosdb list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --query sort_by([].{name:name,created:systemData.createdAt}, &created)[0].name"
    
  2. À présent, utilisez az cosmosdb show pour obtenir le documentEndpoint du compte que vous avez créé. Utilisez la valeur du nom de compte que vous avez enregistré à l’étape précédente. Enregistrez ce point de terminaison à mesure que vous l’utilisez également pour vous connecter à partir du Kit de développement logiciel (SDK) .NET.

    az cosmosdb show \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name "<nosql-account-name>" \
        --query "documentEndpoint"
    
  3. Ensuite, utilisez az cosmosdb sql role definition show pour obtenir l’identificateur unique complet du rôle de plan de données Contributeur de données intégré Cosmos DB intégré pour votre compte. Enregistrez cette valeur, car vous l’utiliserez dans une prochaine étape.

    az cosmosdb sql role definition show \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name "<nosql-account-name>" \
        --id "00000000-0000-0000-0000-000000000002" \
        --query "id"
    
  4. Ensuite, utilisez az ad signed-in-user show pour obtenir l’identificateur de votre compte connecté actuel. Enregistrez cette valeur, car vous l’utiliserez à la prochaine étape.

    az ad signed-in-user show \
      --query "id"
    
  5. Enfin, attribuez le rôle à votre compte actuellement connecté à l’aide de az cosmosdb sql role assignment create. Utilisez l’identificateur de définition de rôle, l’identificateur du principal et le nom du compte enregistré précédemment dans cette section.

    az cosmosdb sql role assignment create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name "<nosql-account-name>" \
        --role-definition-id "<fully-qualified-role-definition-id>" 
        --principal-id "<principal-id>" 
        --scope "/"
    

Créer des ressources de base de données et de conteneur

L’authentification Microsoft Entra est configurée uniquement pour les éléments (ou le plan de données). Vous devez créer manuellement vos ressources de base de données et de conteneur à l’aide d’Azure CLI. Utilisez le nom de compte que vous avez enregistré dans la section précédente pour ces commandes.

  1. Utilisez az cosmosdb sql database create pour créer votre base de données.

    az cosmosdb sql database create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --account-name "<nosql-account-name>" \
        --name "cosmicworks"    
    
  2. Ensuite, utilisez az cosmosdb sql container create pour créer votre conteneur.

    az cosmosdb sql container create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --account-name "<nosql-account-name>" \
        --database-name "cosmicworks" \
        --name "products" \
        --partition-key-path "/categoryId"
    

Configurer l’environnement de développement

Un environnement de conteneur de développement est disponible avec toutes les dépendances nécessaires pour effectuer chaque exercice de ce projet. Vous pouvez exécuter le conteneur de développement dans GitHub Codespaces ou localement à l’aide de Visual Studio Code.

GitHub Codespaces exécute un conteneur de développement géré par GitHub avec Visual Studio Code pour le web comme interface utilisateur basée sur un navigateur. Pour l’environnement de développement le plus simple, nous utilisons GitHub Codespaces pour que vous disposiez des outils et des dépendances du développeur appropriés préinstallés pour exécuter ce module de formation.

Important

Tous les comptes GitHub peuvent utiliser codespaces pendant jusqu’à 60 heures gratuites chaque mois avec 2 instances principales.

  1. Créez un codespace GitHub à l’aide du modèle azure-samples/cosmos-db-dotnet.

    Ouvrir dans un GitHub Codespaces

  2. Dans la page Créer un codespace, passez en revue les paramètres de configuration du codespace, puis sélectionnez Créer un codespace.

  3. Attendez que le codespace démarre. Ce processus de démarrage peut prendre quelques minutes.

  4. Ouvrez un nouveau terminal dans le codespace.

  5. Vérifiez que .NET 8 est installé dans votre environnement :

    dotnet --list-sdks
    
  6. Fermez le terminal.

Les exercices restants de ce projet ont lieu dans le contexte de ce conteneur de développement.