Accès à Amazon QLDB via le QLDB shell (données API uniquement) - Base de données Amazon Quantum Ledger (AmazonQLDB)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accès à Amazon QLDB via le QLDB shell (données API uniquement)

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

Amazon QLDB fournit un shell de ligne de commande pour interagir avec les données API transactionnelles. Avec le QLDB shell, vous pouvez exécuter des instructions partiQL sur des données de registre.

La dernière version de ce shell est écrite en Rust et est open source dans le GitHub dépôt awslabs/ amazon-qldb-shell sur la branche par défaut. main La version Python (v1) est également toujours disponible pour une utilisation dans le même dépôt de la master branche.

Note

Le QLDB shell Amazon ne prend en charge que les données qldb-session API transactionnelles. Ceci API est utilisé uniquement pour exécuter des instructions partiQL sur un QLDB registre.

Pour interagir avec les API opérations de qldb gestion à l'aide d'une interface de ligne de commande, voirAccès à Amazon QLDB à l'aide du AWS CLI (gestion API uniquement).

Cet outil n'est pas destiné à être intégré à une application ou adopté à des fins de production. L'objectif de cet outil est de vous permettre d'expérimenter rapidement QLDB et partiQL.

Les sections suivantes décrivent comment démarrer avec le QLDB shell.

Prérequis

Avant de commencer à utiliser le QLDB shell, vous devez effectuer les opérations suivantes :

  1. Suivez les instructions AWS de configuration indiquées dansAccès à Amazon QLDB. Cela inclut les éléments suivants :

    1. Inscrivez-vous pour AWS.

    2. Créez un utilisateur doté des QLDB autorisations appropriées.

    3. Accordez un accès programmatique pour le développement.

  2. Configurez vos AWS informations d'identification et celles par défaut Région AWS. Pour obtenir des instructions, reportez-vous à la section Principes de base de la configuration dans le guide de AWS Command Line Interface l'utilisateur.

    Pour obtenir la liste complète des régions disponibles, consultez la section QLDBPoints de terminaison et quotas Amazon dans le Références générales AWS.

  3. Pour tous les registres en mode STANDARD autorisations, créez des IAM politiques qui vous accordent l'autorisation d'exécuter des instructions partiQL sur les tables appropriées. Pour savoir comment créer ces politiques, consultezCommencer à utiliser le mode d'autorisation standard sur Amazon QLDB.

Installation de la coque

Pour installer la dernière version du QLDB shell, consultez le fichier README.md sur GitHub. QLDBfournit des fichiers binaires prédéfinis pour Linux, macOS et Windows dans la section Releases du GitHub référentiel.

Pour macOS, le shell s'intègre au robinet aws/tap Homebrew. Pour installer le shell sur macOS à l'aide de Homebrew, exécutez les commandes suivantes.

$ xcode-select --install # Required to use Homebrew $ brew tap aws/tap # Add AWS as a Homebrew tap $ brew install qldbshell

Configuration

Après l'installation, le shell charge le fichier de configuration par défaut qui se trouve $XDG_CONFIG_HOME/qldbshell/config.ion lors de l'initialisation. Sous Linux et macOS, ce fichier se trouve généralement à l'adresse~/.config/qldbshell/config.ion. Si un tel fichier n'existe pas, le shell s'exécute avec les paramètres par défaut.

Vous pouvez créer un config.ion fichier manuellement après l'installation. Ce fichier de configuration utilise le format de données Amazon Ion. Voici un exemple de config.ion fichier minimal.

{ default_ledger: "my-example-ledger" }

S'il default_ledger n'est pas défini dans votre fichier de configuration, le --ledger paramètre est obligatoire lorsque vous appelez le shell. Pour obtenir la liste complète des options de configuration, consultez le fichier README.md sur GitHub.

Invoquer le shell

Pour appeler le QLDB shell sur votre terminal de ligne de commande pour un registre spécifique, exécutez la commande suivante. Remplacez my-example-ledger avec le nom de votre registre.

$ qldb --ledger my-example-ledger

Cette commande se connecte à votre commande par défaut Région AWS. Pour spécifier explicitement la région, vous pouvez exécuter la commande avec le --qldb-session-endpoint paramètre --region ou, comme décrit dans la section suivante.

Après avoir appelé une session qldb shell, vous pouvez saisir les types de saisie suivants :

Paramètres de la coque

Pour obtenir la liste complète des indicateurs et options disponibles pour appeler un shell, exécutez la qldb commande avec l'--helpindicateur, comme suit.

$ qldb --help

Voici quelques indicateurs clés et options de la qldb commande. Vous pouvez ajouter ces paramètres facultatifs pour remplacer le profil d'identification Région AWS, le point de terminaison, le format des résultats et les autres options de configuration.

Utilisation

$ qldb [FLAGS] [OPTIONS]
FLAGS
-h, --help

Imprime les informations d'aide.

-v, --verbose

Configure la verbosité de journalisation. Par défaut, le shell enregistre uniquement les erreurs. Pour augmenter le niveau de verbosité, répétez cet argument (par exemple,-vv). Le niveau le plus élevé -vvv correspond à la trace verbosité.

-V, --version

Imprime les informations de version.

OPTIONS
-l, --ledger LEDGER_NAME

Nom du registre auquel se connecter. Il s'agit d'un paramètre de shell obligatoire s'il default_ledger n'est pas défini dans votre config.ion fichier. Dans ce fichier, vous pouvez définir des options supplémentaires, telles que la région.

-c, --config CONFIG_FILE

Le fichier dans lequel vous pouvez définir toutes les options de configuration du shell. Pour plus de détails sur le formatage et une liste complète des options de configuration, consultez le fichier README.md sur GitHub.

-f, --format ion|table

Format de sortie des résultats de votre requête. L’argument par défaut est ion.

-p, --profile PROFILE

L'emplacement de votre profil AWS d'identification à utiliser pour l'authentification.

S'il n'est pas fourni, le shell utilise votre AWS profil par défaut, qui se trouve à l'adresse~/.aws/credentials.

-r, --region REGION_CODE

Région AWS Code du QLDB registre auquel se connecter. Par exemple : us-east-1.

S'il n'est pas fourni, le shell se connecte à votre interface par défaut, Région AWS comme indiqué dans votre AWS profil.

-s, --qldb-session-endpoint QLDB_SESSION_ENDPOINT

Le qldb-session API point de terminaison auquel se connecter.

Pour une liste complète des QLDB régions et points de terminaison disponibles, consultez la section Points de QLDBterminaison et quotas Amazon dans le. Références générales AWS

Référence de commande

Une fois que vous avez appelé une qldb session, le shell prend en charge les touches et commandes de base de données suivantes :

Clés Shell
Clé Description de la fonction
Enter Exécute la déclaration.

Escape+ Enter (macOS, Linux)

Shift+ Enter (Windows)

Ouvre une nouvelle ligne pour saisir une instruction qui s'étend sur plusieurs lignes. Vous pouvez également copier du texte d'entrée comportant plusieurs lignes et le coller dans le shell.

Pour obtenir des instructions sur la configuration Option plutôt Escape que comme clé méta dans macOS, consultez le site OS X Daily.

Ctrl+C Annule la commande en cours.
Ctrl+D Signale la fin du fichier (EOF) et quitte le niveau actuel du shell. Si aucune transaction n'est active, quitte le shell. Dans une transaction active, annule la transaction.
Commandes de base de données Shell
Command Description de la fonction
help Affiche les informations d'aide.
begin Commence une transaction.
start transaction
commit Enregistre votre transaction dans le journal du grand livre.
abort Interrompt votre transaction et rejette toutes les modifications que vous avez apportées.
exit Quitte le shell.
quit
Note

Toutes les commandes QLDB shell ne distinguent pas les majuscules et minuscules.

Exécution de relevés individuels

À l'exception des commandes de base de données et des méta-commandes du shell répertoriées dans le READMEfichier .md, le shell interprète chaque commande que vous entrez comme une instruction partiQL distincte. Par défaut, le shell active le auto-commit mode. Ce mode est configurable.

Dans ce auto-commit mode, le shell exécute implicitement chaque instruction dans sa propre transaction et valide automatiquement la transaction si aucune erreur n'est détectée. Cela signifie que vous n'avez pas à exécuter start transaction (oubegin) commit manuellement chaque fois que vous exécutez une instruction.

Gestion des transactions

Le QLDB shell vous permet également de contrôler manuellement les transactions. Vous pouvez exécuter plusieurs instructions au sein d'une transaction de manière interactive ou non interactive en regroupant les commandes et les instructions de manière séquentielle.

Transactions interactives

Pour exécuter une transaction interactive, procédez comme suit.

  1. Pour commencer une transaction, entrez la begin commande.

    qldb> begin

    Une fois que vous avez commencé une transaction, le shell affiche l'invite de commande suivante.

    qldb *>
  2. Ensuite, chaque instruction que vous entrez est exécutée dans le cadre de la même transaction.

    • Par exemple, vous pouvez exécuter une seule instruction comme suit.

      qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'

      Après avoir appuyéEnter, le shell affiche les résultats de l'instruction.

    • Vous pouvez également saisir plusieurs instructions ou commandes séparées par un point-virgule (;) comme suit.

      qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; commit
  3. Pour terminer la transaction, entrez l'une des commandes suivantes.

    • Entrez la commit commande pour enregistrer votre transaction dans le journal du grand livre.

      qldb *> commit
    • Entrez la abort commande pour arrêter votre transaction et rejeter les modifications que vous avez apportées.

      qldb *> abort transaction was aborted

Délai d'expiration des transactions

Une transaction interactive respecte le délai d'expiration QLDB de la transaction. Si vous ne validez pas une transaction dans les 30 secondes suivant son lancement, elle fait QLDB automatiquement expirer la transaction et rejette toute modification apportée au cours de la transaction.

Ensuite, au lieu d'afficher les résultats de l'instruction, le shell affiche un message d'erreur d'expiration et revient à l'invite de commande normale. Pour réessayer, vous devez saisir à nouveau la begin commande pour commencer une nouvelle transaction.

transaction failed after 1 attempts, last error: communication failure: Transaction 2UMpiJ5hh7WLjVgEiMLOoO has expired

Transactions non interactives

Vous pouvez exécuter une transaction complète avec plusieurs instructions en groupant les commandes et les instructions de manière séquentielle comme suit.

qldb> begin; SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; SELECT * FROM Person p, DriversLicense l WHERE p.GovId = l.LicenseNumber; commit

Vous devez séparer chaque commande et chaque instruction par un point-virgule ();. Si l'une des instructions de la transaction n'est pas valide, le shell rejette automatiquement la transaction. Le shell ne procède à aucune instruction que vous avez saisie ultérieurement.

Vous pouvez également configurer plusieurs transactions.

qldb> begin; statement1; commit; begin; statement2; statement3; commit

Comme dans l'exemple précédent, si une transaction échoue, le shell ne procède à aucune transaction ou instruction ultérieure que vous avez saisie.

Si vous ne mettez pas fin à une transaction, le shell passe en mode interactif et vous invite à saisir la commande ou l'instruction suivante.

qldb> begin; statement1; commit; begin qldb *>

Sortir de la coque

Pour quitter la session qldb shell en cours, entrez la quit commande exit ou, ou utilisez le raccourci-clavier Ctrl + D lorsque le shell n'est pas dans une transaction.

qldb> exit $
qldb> quit $

Exemple

Pour plus d'informations sur l'écriture d'instructions partiQL dansQLDB, consultez le. Référence Amazon QLDB PartiQL

L'exemple suivant montre une séquence courante de commandes de base.

Note

Dans cet exemple, le QLDB shell exécute chaque instruction partiQL dans sa propre transaction.

Cet exemple suppose que le registre existe test-ledger déjà et qu'il est actif.

$ qldb --ledger test-ledger --region us-east-1 qldb> CREATE TABLE TestTable qldb> INSERT INTO TestTable `{"Name": "John Doe"}` qldb> SELECT * FROM TestTable qldb> DROP TABLE TestTable qldb> exit