For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/databases/valkey-connect-python.md.

Se connecter avec Python au service Public Cloud Databases pour Valkey

Voir en Markdown

Connectez-vous à votre service Public Cloud Databases pour Valkey à 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 service Valkey avec l'un des langages de programmation les plus célèbres au monde : Python.

Prérequis

  • Disposer d'un projet Public Cloud dans votre compte OVHcloud
  • Disposer d'un service Valkey fonctionnant sur votre Public Cloud Databases OVHcloud (ce guide peut vous aider à répondre à ce prérequis)
  • Configurer votre service Valkey pour accepter les connexions entrantes
  • Disposer d'un environnement Python fonctionnel

Concept

Un service Valkey peut être géré de plusieurs façons. L'une des plus simples, et pourtant puissante, consiste à utiliser une interface en ligne de commande (CLI), comme illustré dans notre guide : Se connecter avec la CLI.

Une autre méthode consiste à interagir directement à l'aide de langages de programmation, tels que Python.

Nous allons devoir configurer notre environnement Python avec le client valkey-py, puis coder en Python pour réaliser quelques actions d'exemple.

En pratique

Configurer votre environnement Python

Pour interagir avec votre instance en utilisant Python, votre environnement de développement doit être configuré avec :

  • Une version compatible de Python (valkey-py 6.1 nécessite Python 3.9 ou une version ultérieure)
  • valkey-py, le client Python du projet Valkey

Veuillez consulter la documentation officielle de valkey-py pour obtenir les informations les plus récentes.

Une fois votre environnement Python configuré, exécutez python3 --version dans votre interface en ligne de commande (CLI) pour afficher sa version, comme illustré ci-dessous :

$ python3 --version
Python 3.12.0

Dans la même console, installez valkey-py, puis vérifiez qu'il est correctement installé :

$ pip install valkey
$ pip list
Package                Version
---------------------- -------
(...)
valkey                 6.1.1
(...)
Info

redis-py peut également se connecter à votre service Valkey, mais valkey-py est le client maintenu par le projet Valkey.

Nous sommes maintenant prêts à apprendre comment nous connecter à notre instance !

Se connecter avec valkey-py

Récupérez l'URI, ou l'hôte et le port, de votre service dans l'onglet Dashboard, section Informations de connection, comme expliqué dans le guide Configurer les connexions entrantes.

TLS est obligatoire : les connexions sans TLS sont refusées. Le certificat du serveur est signé par une autorité de certification publique : valkey-py le vérifie par défaut, sans fichier CA. Ne désactivez pas cette vérification.

Dans votre environnement Python, essayons une connexion. Pour être sûr que nous sommes bien connectés, définissons une paire de données puis vérifions que nous pouvons en récupérer la valeur.

Créez un fichier valkey-connect.py avec le contenu suivant, en remplaçant <username>, <password>, <host> et <port> par vos propres valeurs. Le schéma valkeys:// active TLS :

import valkey

r = valkey.from_url("valkeys://<username>:<password>@<host>:<port>")
print(r.ping())
r.set("cache:greeting", "hello")
print(r.get("cache:greeting"))
r.delete("cache:greeting")

Exécutez-le :

$ python3 valkey-connect.py
True
b'hello'

Vous pouvez aussi passer chaque paramètre séparément. Avec ssl=True, la connexion utilise TLS, et decode_responses=True renvoie des chaînes de caractères au lieu d'octets :

import valkey

r = valkey.Valkey(
    host="<host>",
    port=<port>,
    username="<username>",
    password="<password>",
    ssl=True,
    decode_responses=True,
)
print(r.ping())
r.set("cache:greeting", "hello")
print(r.get("cache:greeting"))
r.delete("cache:greeting")
$ python3 valkey-connect.py
True
hello

Félicitations ! Tout fonctionne correctement.

Tip

Évitez d'écrire votre mot de passe dans votre code source : lisez-le depuis une variable d'environnement (par exemple os.environ["VALKEY_PASSWORD"]) ou depuis un gestionnaire de secrets.

Si vous obtenez une erreur NoPermissionError (NOPERM), les permissions de votre utilisateur n'autorisent pas la clé ou la commande utilisée. Dans notre exemple, l'utilisateur doit pouvoir lire et écrire les clés correspondant à cache:*. Vérifiez ses clés, catégories et commandes dans l'onglet Utilisateurs, comme expliqué dans le guide Configurer les connexions entrantes.

Aller plus loin

Capacités et limitations de Valkey

Documentation de valkey-py

Rejoignez notre Discord : consultez notre chaîne Discord dédiée pour poser vos questions, faire part de vos commentaires et interagir directement avec l'équipe qui développe nos services de bases de données.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?