Se connecter avec Python au service Public Cloud Databases pour MongoDB
Connectez-vous à votre service Public Cloud Databases pour MongoDB à l'aide du langage de programmation Python
Objectif
Public Cloud Databases vous permet de vous concentrer sur la création et le déploiement de vos applications cloud, pendant qu'OVHcloud prend en charge l'infrastructure de base de données et son maintien en conditions opérationnelles.
Ce guide explique comment se connecter à une instance de base de données MongoDB à l'aide de l'un des langages de programmation les plus célèbres au monde : Python.
Vous trouverez un exemple sur le dépôt d'exemples Github.
Prérequis
- Un projet Public Cloud dans votre compte OVHcloud
- Une base de données MongoDB exécutée sur votre service Public Cloud Databases OVHcloud (ce guide peut vous aider à répondre à ce prérequis)
- Configurez votre instance MongoDB pour qu'elle accepte les connexions entrantes
- Un environnement Python dans une version stable disposant d'une connectivité réseau publique (Internet). Ce guide a été réalisé avec Python 3.9.5.
Concept
Une instance MongoDB peut être gérée de plusieurs façons. L'une des plus simples, mais aussi des plus puissantes, consiste à utiliser une interface en ligne de commande (CLI), comme le montre notre guide : Se connecter à MongoDB avec la CLI.
Une autre méthode consiste à interagir directement à l'aide d'un langage de programmation, tel que Python. Python est l'un des principaux langages de programmation au monde, en particulier dans l'écosystème de la Data. MongoDB fournit des drivers Python officiels, nous permettant de nous connecter à une instance MongoDB et de la gérer depuis du code.
Pour cela, nous devrons configurer notre environnement Python avec les drivers MongoDB, puis configurer nos instances Public Cloud Databases pour MongoDB afin qu'elles acceptent les connexions entrantes, et enfin coder en Python pour réaliser quelques actions d'exemple.
En pratique
Configurer votre environnement Python
Certains outils utiles, comme Conda, vous permettent de créer et d'utiliser des environnements Python spécifiques sur une même machine, comme votre ordinateur. Conda vous permettra de créer un environnement dédié pour travailler avec MongoDB, sans impacter vos configurations existantes. Pour plus d'informations, consultez https://www.conda.io.
Pour interagir avec votre instance MongoDB à l'aide de Python, votre environnement de développement doit être configuré avec :
- Une version compatible de Python.
- Le driver officiel de MongoDB, appelé PyMongo, ou Motor, pour travailler de manière asynchrone avec MongoDB.
Ce guide se concentrera sur l'utilisation de PyMongo, qui couvre la plupart des cas d'usage.
Veuillez suivre la documentation officielle de MongoDB pour les drivers Python pour obtenir les dernières informations.
À la fin de la page de documentation de PyMongo, vous trouverez une matrice de compatibilité entre les versions de Python et le driver PyMongo. Suivez-la en conséquence.
Une fois votre environnement Python configuré, exécutez python --version dans votre interface en ligne de commande (CLI) : vous devriez voir apparaître des informations sur la version, comme indiqué ci-dessous :
Dans la même console, en tapant pip list | grep pymongo, vérifiez que pymongo est correctement installé :
Dans notre cas, nous trouvons Python 3.9.5, et PyMongo 4.2. D'après la matrice de compatibilité officielle de MongoDB mentionnée précédemment, nous serons en mesure de nous connecter à des instances MongoDB en versions 4.x, 5.0 et 6.0. Ceci est conforme avec notre instance MongoDB 5.0 actuelle.
Configurer votre instance MongoDB pour accepter les connexions entrantes
Pour pouvoir vous connecter à votre instance MongoDB, vous devrez configurer votre instance afin qu'elle accepte les connexions entrantes depuis l'adresse IP de votre environnement Python. Si vous ne savez pas comment récupérer votre IP, veuillez consulter un site tel que myip.ovh depuis le poste hébergeant l'environnement Python.
Une fois que vous connaissez l'adresse IP, suivez les étapes de ce guide : Configurer votre instance MongoDB pour accepter les connexions entrantes.
Nous allons maintenant suivre la documentation officielle de MongoDB pour effectuer notre première connexion avec Python.
Se connecter avec Python
Dans votre environnement Python, essayons une connexion. Pour être sûrs d'être bien connectés, nous allons insérer deux objets. Créez un fichier nommé basic_insert.py. Insérez le code ci-dessous avec vos propres identifiants.
Comme le montre le code, nous utilisons le driver officiel PyMongo. Consultez la documentation officielle de PyMongo pour la liste exhaustive des commandes : https://docs.mongodb.com/drivers/pymongo/.
Après avoir exécuté votre code Python, le résultat affiché dans la CLI devrait ressembler à ceci :
Si ce n'est pas le cas, votre CLI devrait vous fournir davantage de détails sur le problème, par exemple :
- Authentication failed : peut correspondre à une erreur d'identifiant ou de mot de passe utilisateur ;
- nodename nor servname provided, or not known : peut correspondre à un nom d'hôte mal saisi ;
- Connection reset by peer : généralement dû à une connexion sans mode TLS sécurisé. Utilisez le paramètre tls=true.
Une fois connecté, vous pouvez effectuer plusieurs opérations, par exemple quelques insertions et un find() dans une collection :
Dans cet exemple, nous insérons 2 objets dans une collection appelée demoCollection, puis nous effectuons une opération find() dans cette collection, à la recherche de tous les objets.
Voici le résultat pour print(record) :
Ce code a correctement retrouvé les deux objets précédemment insérés. Cela signifie que nous avons pu nous connecter à l'instance MongoDB, insérer des données, et rechercher ces données. Félicitations ! Tout fonctionne correctement.
Aller plus loin
Configuration du vRack pour Public Cloud
Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud. Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services de bases de données.
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Rejoignez notre communauté d'utilisateurs.