Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Dans ce guide de démarrage rapide, vous allez créer une application Azure DocumentDB de base à l’aide de Python. Azure DocumentDB est un magasin de données NoSQL qui permet aux applications de stocker des documents dans le cloud et d’y accéder à l’aide de pilotes MongoDB officiels. Ce guide montre comment créer des documents et effectuer des tâches de base dans votre cluster Azure DocumentDB à l’aide de Python.
Informations de référence sur | l’APICode source | Package (PyPI)
Prerequisites
Un abonnement Azure
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit
- Python 3.12 ou version ultérieure
Créer un cluster Azure DocumentDB
Pour commencer, vous devez d’abord créer un cluster Azure DocumentDB, qui sert de base pour le stockage et la gestion de vos données NoSQL.
Connectez-vous au portail Azure (https://portal.azure.com).
Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.
Dans la nouvelle page, recherchez et sélectionnez Azure DocumentDB.
Dans la page Créer un cluster Azure DocumentDB et dans la section Informations de base , sélectionnez l’option Configurer dans la section Niveau cluster .
Dans la page Mise à l’échelle , configurez ces options, puis sélectionnez Enregistrer pour conserver vos modifications au niveau du cluster.
Valeur Niveau de cluster M30 tier, 2 vCore, 8-GiB RAMStockage par partition 128 GiB
De retour dans la section Informations de base , configurez les options suivantes :
Valeur Subscription Sélectionnez votre abonnement Azure. Groupe de ressources Créer un groupe de ressources ou en sélectionner un Nom du cluster Fournir un nom globalement unique Lieu Sélectionnez une région Azure prise en charge pour votre abonnement Version de MongoDB Sélectionnez 8.0Nom d'utilisateur administrateur Créer un nom d’utilisateur pour accéder au cluster en tant qu’administrateur utilisateur Mot de passe Utiliser un mot de passe unique associé au nom d’utilisateur
Conseil / Astuce
Enregistrez les valeurs que vous utilisez pour le nom d’utilisateur et le mot de passe. Ces valeurs sont utilisées plus loin dans ce guide. Pour plus d’informations sur les valeurs valides, consultez limitations du cluster.
Sélectionnez Suivant : Mise en réseau.
Dans la section Règles de pare-feu de l’onglet Mise en réseau , configurez ces options :
Valeur Méthode de connectivité Public accessAutoriser l’accès public à partir de services et de ressources Azure au sein d’Azure à ce cluster Activé Ajoutez une règle de pare-feu pour votre appareil client actuel pour accorder l’accès au cluster en sélectionnant + Ajouter une adresse IP cliente actuelle.
Conseil / Astuce
Dans de nombreux environnements d’entreprise, les adresses IP de l’ordinateur du développeur sont masquées en raison d’un VPN ou d’autres paramètres réseau d’entreprise. Dans ces cas, vous pouvez autoriser temporairement l’accès à toutes les adresses IP en ajoutant la
0.0.0.0-255.255.255.255plage d’adresses IP en tant que règle de pare-feu. Utilisez cette règle de pare-feu uniquement temporairement dans le cadre du test et du développement de connexions.Sélectionnez Vérifier + créer.
Passez en revue les paramètres que vous fournissez, puis sélectionnez Créer. La création du cluster ne prend que quelques minutes. Attendez que le déploiement des ressources soit terminé.
Enfin, sélectionnez Accéder à la ressource pour accéder au cluster Azure DocumentDB dans le portail.
Obtenir les informations d’identification du cluster
Obtenez les informations d’identification que vous utilisez pour vous connecter au cluster.
Dans la page du cluster, sélectionnez l’option Chaînes de connexion dans le menu de ressources.
Dans la section Chaînes de connexion, copiez ou enregistrez la valeur à partir du champ Chaîne de connexion .
Important
La chaîne de connexion dans le portail n’inclut pas la valeur du mot de passe. Vous devez remplacer l’espace <password> réservé par les informations d’identification que vous avez entrées lors de la création du cluster ou entrer le mot de passe de manière interactive.
Initialiser le projet
Créez un projet Python et configurez un environnement virtuel dans votre répertoire actif.
Démarrez dans un répertoire vide.
Ouvrez un terminal dans le répertoire actif.
Créez et activez un environnement virtuel.
python -m venv venv venv\Scripts\activate
Installer la bibliothèque de client
La bibliothèque cliente est disponible via PyPI, en tant que pymongo package.
Installez le pilote Python MongoDB à l’aide de pip.
pip install pymongoCréez un fichier Python nommé
main.pypour votre code d’application.Importez les modules requis dans votre code d’application :
from pymongo import MongoClient from pymongo.errors import ConnectionFailure import sys
Modèle d'objet
| Nom | Descriptif |
|---|---|
MongoClient |
Type utilisé pour se connecter à MongoDB. |
Database |
Représente une base de données dans le cluster. |
Collection |
Représente une collection au sein d’une base de données dans le cluster. |
Exemples de code
- Authentifier le client
- Obtention d’une collection
- Créer un document
- Récupérer un document
- Interroger des documents
Le code de cette application se connecte à une base de données nommée adventureworks et à une collection nommée products. La products collection contient des détails tels que le nom, la catégorie, la quantité, un identificateur unique et un indicateur de vente pour chaque produit. Les exemples de code ici effectuent les opérations les plus courantes lors de l’utilisation d’une collection.
Authentifier le client
Tout d’abord, connectez-vous au client à l’aide d’une chaîne de connexion de base.
Créez la fonction principale et configurez la chaîne de connexion. Remplacez
<your-cluster-name>,<your-username>et<your-password>par vos informations de cluster réelles.def main(): try: # Connection string for Azure DocumentDB cluster connection_string = "mongodb+srv://<your-username>:<your-password>@<your-cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000" # Create a new client and connect to the server client = MongoClient(connection_string)Connectez-vous au client MongoDB et vérifiez la connexion.
# Ping the server to verify connection client.admin.command('ping') print("Successfully connected and pinged Azure DocumentDB")
Obtenez une collection
À présent, obtenez votre base de données et votre collection. Si la base de données et la collection n’existent pas déjà, utilisez le pilote pour le créer automatiquement.
Obtenez une référence à la base de données.
# Get database reference database = client["adventureworks"] print(f"Connected to database: {database.name}")Obtenez une référence à la collection dans la base de données.
# Get collection reference collection = database["products"] print("Connected to collection: products")
Créer un document
Ensuite, créez quelques documents au sein de votre collection. Utilisez la fonction Upsert pour insérer les documents et remplacer tout document existant possédant le même identifiant unique.
Créez des exemples de documents de produit.
# Create sample products products = [ { "_id": "00000000-0000-0000-0000-000000004018", "name": "Windry Mittens", "category": "apparel-accessories-gloves-and-mittens", "quantity": 121, "price": 35.00, "sale": False, }, { "_id": "00000000-0000-0000-0000-000000004318", "name": "Niborio Tent", "category": "gear-camp-tents", "quantity": 140, "price": 420.00, "sale": True, } ]Insérez les documents en utilisant les opérations d'insertion/mise à jour.
# Insert documents with upsert for product in products: filter_doc = {"_id": product["_id"]} collection.replace_one(filter_doc, product, upsert=True) print(f"Upserted product: {product['name']}")
Récupérer un document
Ensuite, effectuez une opération de lecture de point pour récupérer un document spécifique à partir de votre collection.
Définissez le filtre pour rechercher un document spécifique par ID.
# Retrieve a specific document by ID filter_doc = {"_id": "00000000-0000-0000-0000-000000004018"}Exécutez la requête et récupérez le résultat.
retrieved_product = collection.find_one(filter_doc) if retrieved_product: print(f"Retrieved product: {retrieved_product['name']} - ${retrieved_product['price']}") else: print("Product not found")
Interroger des documents
Enfin, interrogez plusieurs documents à l’aide du langage de requête MongoDB (MQL).
Définissez une requête pour rechercher des documents correspondant à des critères spécifiques.
# Query for products on sale sale_filter = {"sale": True} sale_products = list(collection.find(sale_filter))Effectuez une itération dans les résultats pour afficher les documents correspondants.
print("Products on sale:") for product in sale_products: print(f"- {product['name']}: ${product['price']:.2f} (Category: {product['category']})") except ConnectionFailure as e: print(f"Could not connect to MongoDB: {e}") sys.exit(1) except Exception as e: print(f"An error occurred: {e}") sys.exit(1) finally: client.close() if __name__ == "__main__": main()
Explorer vos données à l’aide de Visual Studio Code
Utilisez l’extension DocumentDB dans Visual Studio Code pour effectuer des opérations de base de données principales, notamment l’interrogation, l’insertion, la mise à jour et la suppression de données.
Ouvrez Visual Studio Code.
Accédez à la vue Extensions et recherchez le terme
DocumentDB. Recherchez l’extension DocumentDB pour VS Code .Sélectionnez le bouton Installer pour l’extension. Attendez la fin de l’installation. Rechargez Visual Studio Code si vous y êtes invité.
Accédez à l’extension DocumentDB en sélectionnant l’icône correspondante dans la barre d’activité.
Dans le volet Connexions DocumentDB , sélectionnez + Nouvelle connexion....
Dans la boîte de dialogue, sélectionnez Service Discovery , puis Azure DocumentDB - Azure Service Discovery.
Sélectionnez votre abonnement Azure et votre cluster Azure DocumentDB nouvellement créé.
Conseil / Astuce
Dans de nombreux environnements d’entreprise, les adresses IP de l’ordinateur du développeur sont masquées en raison d’un VPN ou d’autres paramètres réseau d’entreprise. Dans ces cas, vous pouvez autoriser temporairement l’accès à toutes les adresses IP en ajoutant la
0.0.0.0-255.255.255.255plage d’adresses IP en tant que règle de pare-feu. Utilisez cette règle de pare-feu uniquement temporairement dans le cadre du test et du développement de connexions. Pour plus d’informations, consultez configurer le pare-feu.De retour dans le volet Connexions DocumentDB , développez le nœud de votre cluster et accédez à vos nœuds de document et de collection existants.
Ouvrez le menu contextuel de la collection, puis sélectionnez DocumentDB Scrapbook New DocumentDB Scrapbook>.
Entrez les commandes MQL (MongoDB Query Language) suivantes, puis sélectionnez Exécuter tout. Observez la sortie des commandes.
db.products.find({ price: { $gt: 200 }, sale: true }) .sort({ price: -1 }) .limit(3)
Nettoyer les ressources
Lorsque vous avez terminé avec le cluster Azure DocumentDB, vous pouvez supprimer les ressources Azure que vous avez créées afin de ne pas entraîner de frais supplémentaires.
Depuis la barre de recherche du portail Azure, recherchez et sélectionnez Groupes de ressources.
Dans la liste, sélectionnez le groupe de ressources utilisé dans ce démarrage rapide.
Sur la page Groupe de ressources, sélectionnez Supprimer un groupe de ressources.
Dans la boîte de dialogue de confirmation de la suppression, entrez le nom du groupe de ressources pour confirmer votre intention de le supprimer. Enfin, sélectionnez Supprimer pour supprimer définitivement le groupe de ressources.