Vue imprimable multi-pages de cette section. .
Tâches de développement
1 - Lecture depuis etcd
Prérequis
- Installer
etcdctl
Procédure
Utilisez la sous-commande get pour lire depuis etcd :
où :
fooest la clé demandéeHello World!est la valeur récupérée
Or, pour une sortie formatée :
où write-out="json" fait que la valeur est sortie au format JSON (notez que la clé n’est pas renvoyée).
2 - Écriture dans etcd
Prérequis
- Installer
etcdctl
Procédure
Utilisez la sous-commande put pour écrire une paire clé-valeur :
où :
fooest le nom de la clé"Hello World!"est la valeur délimitée par des guillemets
3 - Comment obtenir des clés par préfixe
Prérequis
Obtenir les clés par préfixe
Options globales
Options
Exemple

4 - Comment supprimer des clés
Prérequis
- Installer
etcdetetcdctl
Ajouter ou supprimer des clés
del pour supprimer la clé spécifiée ou la plage de clés :
Options
Options héritées des commandes parentes
Exemples

5 - Comment effectuer plusieurs écritures dans une transaction
Prérequis
- Installer
etcdetetcdctl. - Un cluster
etcden cours d’exécution.
Terminologie
Voici les définitions de quelques termes clés utilisés dans l’exemple Example ci-dessous.
| Termes | Définition |
|---|---|
| etcdctl | Outil en ligne de commande pour interagir avec le serveur etcd. |
txn
command | txn command est une abréviation de « transaction ». Il lit plusieurs requêtes etcd depuis l’entrée standard et les applique comme une transaction atomique unique. Une transaction se compose d’une liste de conditions, d’une liste de requêtes à appliquer si toutes les conditions sont vraies, et d’une liste de requêtes à appliquer si au moins une condition est fausse. Consultez etcdctl key-value commands
pour plus d’informations. |
compare | La clause compare au sein d’une transaction (txn) sert de vérification conditionnelle déterminant si les opérations de la transaction doivent s’exécuter. Elle garantit que les modifications ne sont appliquées que si l’état actuel du magasin clé-valeur correspond aux conditions attendues, assurant ainsi la cohérence des données et évitant les conflits dans les environnements concurrents. Pour voir la structure de la commande, consultez la section Effectuer une transaction
ci-dessous. |
Transactions
txn pour traiter toutes les requêtes dans une seule transaction :
Les transactions dans etcd permettent d’exécuter plusieurs opérations de manière atomique, garantissant que toutes les opérations sont appliquées ou que aucune ne l’est. Cela est essentiel pour maintenir la cohérence des données lors de mises à jour liées. En savoir plus sur les transactions dans la documentation de l’API .
Exemple
Considérons un scénario dans lequel vous souhaitez mettre à jour l’e-mail et le numéro de téléphone d’un utilisateur dans une seule transaction. Cela garantit que les deux mises à jour sont appliquées ensemble.

0. Variables et indicateurs utilisés
| Variables |
|---|
/users/{<user_id>/email : clé etcd représentant l’adresse e-mail d’un utilisateur. |
/users/<user_id>/phone : clé etcd représentant le numéro de téléphone d’un utilisateur. |
| Drapeaux |
--interactive
: Drapeau permettant d’entrer manuellement les données de transaction |
1. Configurer les données initiales
Tout d’abord, créez un utilisateur avec quelques données initiales.
2. Effectuer une transaction
Mettez à jour l’e-mail et le numéro de téléphone de l’utilisateur dans une seule transaction.
- Comparaison : Vérifiez que l’e-mail actuel correspond à “old.address@johndoe.com ”. Cela garantit que la transaction ne s’effectue que si les données sont telles qu’attendu.
- Succès : Si la comparaison est vraie, mettez à jour à la fois l’e-mail et le numéro de téléphone.
- Échec : Si la comparaison échoue, récupérez l’e-mail actuel afin de comprendre pourquoi la transaction n’a pas pu s’effectuer.
Considérations importantes
- Atomicité : La transaction garantit que la mise à jour de l’e-mail et du numéro de téléphone s’effectue ensemble. Si la condition initiale (comparaison) n’est pas remplie, aucune mise à jour n’est appliquée.
- Consistance : L’utilisation des transactions assure la cohérence des données, notamment lors de mises à jour multiples liées.
- Éviter plusieurs opérations put sur la même clé : Ne pas effectuer plusieurs mises à jour pour la même clé au sein d’une même transaction, car cela peut entraîner des résultats imprévus. Chaque clé ne doit être mise à jour qu’une seule fois par transaction.
6 - Comment surveiller des clés
Prérequis
- Installer
etcdetetcdctl
Surveillance des clés
watch pour être notifié des modifications futures :
Options
Options héritées des commandes parentes
Exemples

7 - Comment créer un bail
lease pour écrire avec un TTL :

8 - Comment créer des verrous
LOCK acquiert un verrou distribué portant un nom donné. Une fois le verrou acquis, il reste détenu jusqu’à la terminaison d’etcdctl.
Prérequis
- Installer
etcdetetcdctl
Création d’un verrou
lock pour verrouillage distribué :

Options
- endpoints - définit une liste séparée par des virgules d’adresses machine du cluster.
- ttl - durée d’expiration en secondes de la session de verrouillage.