QLDBÜber die QLDB Shell auf Amazon zugreifen (APInur Daten) - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

QLDBÜber die QLDB Shell auf Amazon zugreifen (APInur Daten)

Wichtig

Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre.

Amazon QLDB bietet eine Befehlszeilen-Shell für die Interaktion mit den Transaktionsdaten. API Mit der QLDB Shell können Sie PartiQL-Anweisungen für Ledger-Daten ausführen.

Die neueste Version dieser Shell ist in Rust geschrieben und als Open Source im GitHub Repository amazon-qldb-shellawslabs/ im Standardzweig verfügbar. main Die Python-Version (v1) ist auch weiterhin für die Verwendung im selben Repository in der master Filiale verfügbar.

Anmerkung

Die QLDB Amazon-Shell unterstützt nur die qldb-session Transaktionsdaten. API Dies API wird nur für die Ausführung von PartiQL-Anweisungen in einem QLDB Ledger verwendet.

Informationen zur Interaktion mit den qldb API Verwaltungsvorgängen über eine Befehlszeilenschnittstelle finden Sie unter. Zugriff auf Amazon QLDB über AWS CLI (APInur Verwaltung)

Dieses Tool ist nicht dafür vorgesehen, in eine Anwendung integriert oder für Produktionszwecke verwendet zu werden. Das Ziel dieses Tools ist es, Ihnen das schnelle Experimentieren mit QLDB und PartiQL zu ermöglichen.

In den folgenden Abschnitten wird beschrieben, wie Sie mit der QLDB Shell beginnen.

Voraussetzungen

Bevor Sie mit der QLDB Shell beginnen, müssen Sie Folgendes tun:

  1. Folgen Sie den Anweisungen zur AWS Einrichtung unterZugriff auf Amazon QLDB. Diese umfasst die folgenden Funktionen:

    1. Melde dich an für AWS.

    2. Erstellen Sie einen Benutzer mit den entsprechenden QLDB Berechtigungen.

    3. Gewähren Sie programmatischen Zugriff für die Entwicklung.

  2. Richten Sie Ihre AWS Anmeldeinformationen und Ihren Standard AWS-Region ein. Anweisungen finden Sie im AWS Command Line Interface Benutzerhandbuch unter Grundlagen der Konfiguration.

    Eine vollständige Liste der verfügbaren Regionen finden Sie unter QLDBAmazon-Endpunkte und Kontingente in der Allgemeine AWS-Referenz.

  3. Erstellen Sie für alle Ledger im STANDARD Berechtigungsmodus IAM Richtlinien, die Ihnen Berechtigungen zum Ausführen von PartiQL-Anweisungen in den entsprechenden Tabellen gewähren. Informationen zum Erstellen dieser Richtlinien finden Sie unter. Erste Schritte mit dem Standardberechtigungsmodus in Amazon QLDB

Installation der Shell

Informationen zur Installation der neuesten Version der QLDB Shell finden Sie in der README.md-Datei unter GitHub. QLDBstellt im Bereich Releases des GitHub Repositorys vorgefertigte Binärdateien für Linux, macOS und Windows bereit.

Für macOS ist die Shell in den aws/tap Homebrew-Tap integriert. Führen Sie die folgenden Befehle aus, um die Shell unter macOS mit Homebrew zu installieren.

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

Konfiguration

Nach der Installation lädt die Shell die Standardkonfigurationsdatei, die sich $XDG_CONFIG_HOME/qldbshell/config.ion bei der Initialisierung unter befindet. Unter Linux und macOS befindet sich diese Datei normalerweise unter~/.config/qldbshell/config.ion. Wenn eine solche Datei nicht existiert, läuft die Shell mit den Standardeinstellungen.

Sie können eine config.ion Datei nach der Installation manuell erstellen. Diese Konfigurationsdatei verwendet das Amazon Ion-Datenformat. Das Folgende ist ein Beispiel für eine config.ion Minimaldatei.

{ default_ledger: "my-example-ledger" }

Wenn in Ihrer Konfigurationsdatei default_ledger nicht festgelegt ist, ist der --ledger Parameter erforderlich, wenn Sie die Shell aufrufen. Eine vollständige Liste der Konfigurationsoptionen finden Sie in der README.md-Datei unter. GitHub

Die Shell aufrufen

Um die QLDB Shell auf Ihrem Befehlszeilenterminal für ein bestimmtes Ledger aufzurufen, führen Sie den folgenden Befehl aus. Ersetzen my-example-ledger mit Ihrem Ledger-Namen.

$ qldb --ledger my-example-ledger

Dieser Befehl stellt eine Verbindung zu Ihrem AWS-Region Standardbefehl her. Um die Region explizit anzugeben, können Sie den Befehl mit dem --qldb-session-endpoint Parameter --region oder ausführen, wie im folgenden Abschnitt beschrieben.

Nach dem Aufrufen einer qldb Shell-Sitzung können Sie die folgenden Eingabetypen eingeben:

Shell-Parameter

Eine vollständige Liste der verfügbaren Flags und Optionen zum Aufrufen einer Shell erhalten Sie, wenn Sie den qldb Befehl mit dem --help Flag wie folgt ausführen.

$ qldb --help

Im Folgenden sind einige wichtige Flags und Optionen für den qldb Befehl aufgeführt. Sie können diese optionalen Parameter hinzufügen, um die Konfigurationsoptionen Profil AWS-Region, Endpunkt, Ergebnisformat und andere Konfigurationsoptionen zu überschreiben.

Usage

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

Druckt Hilfeinformationen.

-v, --verbose

Konfiguriert die Ausführlichkeit der Protokollierung. Standardmäßig protokolliert die Shell nur Fehler. Um den Ausführlichkeitsgrad zu erhöhen, wiederholen Sie dieses Argument (z. B.-vv). Die höchste Stufe entspricht -vvv der Ausführlichkeit. trace

-V, --version

Druckt Versionsinformationen.

OPTIONS
-l, --ledger LEDGER_NAME

Der Name des Ledgers, zu dem eine Verbindung hergestellt werden soll. Dies ist ein erforderlicher Shell-Parameter, falls er default_ledger nicht in Ihrer config.ion Datei festgelegt ist. In dieser Datei können Sie zusätzliche Optionen festlegen, z. B. die Region.

-c, --config CONFIG_FILE

Die Datei, in der Sie beliebige Shell-Konfigurationsoptionen definieren können. Einzelheiten zur Formatierung und eine vollständige Liste der Konfigurationsoptionen finden Sie in der README.md-Datei unter GitHub.

-f, --format ion|table

Das Ausgabeformat Ihrer Abfrageergebnisse. Der Standardwert ist ion.

-p, --profile PROFILE

Der Speicherort Ihres AWS Anmeldeinformationsprofils, das für die Authentifizierung verwendet werden soll.

Falls nicht angegeben, verwendet die Shell Ihr AWS Standardprofil, das sich unter befindet~/.aws/credentials.

-r, --region REGION_CODE

Der AWS-Region Code des QLDB Ledgers, zu dem eine Verbindung hergestellt werden soll. Zum Beispiel: us-east-1.

Wenn nicht angegeben, stellt die Shell eine Verbindung zu Ihrem Standard her, AWS-Region wie in Ihrem AWS Profil angegeben.

-s, --qldb-session-endpoint QLDB_SESSION_ENDPOINT

Der qldb-session API Endpunkt, zu dem eine Verbindung hergestellt werden soll.

Eine vollständige Liste der verfügbaren QLDB Regionen und Endpunkte finden Sie unter QLDBAmazon-Endpunkte und Kontingente in der. Allgemeine AWS-Referenz

Befehlsreferenz

Nachdem Sie eine qldb Sitzung aufgerufen haben, unterstützt die Shell die folgenden Schlüssel und Datenbankbefehle:

Shell-Schlüssel
Schlüssel Beschreibung der Funktion
Enter Führt die Anweisung aus.

Escape+ Enter (macOS, Linux)

Shift+ Enter (Windows)

Beginnt eine neue Zeile, um eine Anweisung einzugeben, die sich über mehrere Zeilen erstreckt. Sie können auch Eingabetext mit mehreren Zeilen kopieren und in die Shell einfügen.

Anweisungen zur Einrichtung Option statt Escape als Metaschlüssel in macOS findest du auf der OS X Daily-Website.

Ctrl+C Bricht den aktuellen Befehl ab.
Ctrl+D Signalisiert das Ende von file (EOF) und beendet die aktuelle Ebene der Shell. Beendet die Shell, wenn sie sich nicht in einer aktiven Transaktion befindet. Bricht bei einer aktiven Transaktion die Transaktion ab.
Befehle für die Shell-Datenbank
Befehl Beschreibung der Funktion
help Zeigt die Hilfeinformationen an.
begin Beginnt eine Transaktion.
start transaction
commit Überträgt Ihre Transaktion in das Journal des Hauptbuches.
abort Stoppt Ihre Transaktion und lehnt alle von Ihnen vorgenommenen Änderungen ab.
exit Beendet die Shell.
quit
Anmerkung

Bei allen QLDB Shell-Befehlen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Einzelne Anweisungen ausführen

Mit Ausnahme der in README.md aufgeführten Datenbankbefehle und Shell-Metabefehlen interpretiert die Shell jeden Befehl, den Sie eingeben, als separate PartiQL-Anweisung. Standardmäßig aktiviert die Shell den Modus. auto-commit Dieser Modus ist konfigurierbar.

In diesem auto-commit Modus führt die Shell implizit jede Anweisung in ihrer eigenen Transaktion aus und schreibt die Transaktion automatisch fest, wenn keine Fehler gefunden werden. Das bedeutet, dass Sie nicht jedes Mal, wenn Sie eine Anweisung ausführen, commit manuell start transaction (oderbegin) ausführen müssen.

Verwalten von Transaktionen

Alternativ können Sie mit der QLDB Shell Transaktionen manuell steuern. Sie können mehrere Anweisungen innerhalb einer Transaktion interaktiv oder nicht interaktiv ausführen, indem Sie Befehle und Anweisungen nacheinander stapeln.

Interaktive Transaktionen

Gehen Sie wie folgt vor, um eine interaktive Transaktion auszuführen.

  1. Um eine Transaktion zu starten, geben Sie den begin Befehl ein.

    qldb> begin

    Nachdem Sie eine Transaktion gestartet haben, zeigt die Shell die folgende Eingabeaufforderung an.

    qldb *>
  2. Anschließend wird jede Anweisung, die Sie eingeben, in derselben Transaktion ausgeführt.

    • Sie können beispielsweise eine einzelne Anweisung wie folgt ausführen.

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

      Nachdem Sie die Taste gedrückt habenEnter, zeigt die Shell die Ergebnisse der Anweisung an.

    • Sie können auch wie folgt mehrere Anweisungen oder Befehle eingeben, die durch ein Semikolon (;) getrennt sind.

      qldb *> SELECT * FROM Vehicle WHERE VIN = '1N4AL11D75C109151'; commit
  3. Um die Transaktion zu beenden, geben Sie einen der folgenden Befehle ein.

    • Geben Sie den commit Befehl ein, um Ihre Transaktion in das Journal des Hauptbuchs zu übernehmen.

      qldb *> commit
    • Geben Sie den abort Befehl ein, um Ihre Transaktion zu beenden und alle von Ihnen vorgenommenen Änderungen abzulehnen.

      qldb *> abort transaction was aborted

Timeout-Limit für Transaktionen

Bei einer interaktiven Transaktion wird das QLDB Transaktions-Timeout-Limit eingehalten. Wenn Sie eine Transaktion nicht innerhalb von 30 Sekunden nach dem Start festschreiben, läuft die Transaktion QLDB automatisch ab und alle während der Transaktion vorgenommenen Änderungen werden zurückgewiesen.

Anstatt die Ergebnisse der Anweisung anzuzeigen, zeigt die Shell dann eine Ablauffehlermeldung an und kehrt zur normalen Eingabeaufforderung zurück. Um es erneut zu versuchen, müssen Sie den begin Befehl erneut eingeben, um eine neue Transaktion zu starten.

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

Nicht interaktive Transaktionen

Sie können eine vollständige Transaktion mit mehreren Anweisungen ausführen, indem Sie Befehle und Anweisungen nacheinander wie folgt stapeln.

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

Sie müssen jeden Befehl und jede Anweisung durch ein Semikolon () trennen. ; Wenn eine Anweisung in der Transaktion nicht gültig ist, lehnt die Shell die Transaktion automatisch ab. Die Shell fährt mit den nachfolgenden Anweisungen, die Sie eingegeben haben, nicht fort.

Sie können auch mehrere Transaktionen einrichten.

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

Ähnlich wie im vorherigen Beispiel: Wenn eine Transaktion fehlschlägt, fährt die Shell nicht mit den nachfolgenden Transaktionen oder Anweisungen fort, die Sie eingegeben haben.

Wenn Sie eine Transaktion nicht beenden, wechselt die Shell in den interaktiven Modus und fordert Sie auf, den nächsten Befehl oder die nächste Anweisung einzugeben.

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

Die Shell wird beendet

Um die aktuelle qldb Shell-Sitzung zu beenden, geben Sie den quit Befehl exit oder ein oder verwenden Sie die Tastenkombination Ctrl +, D wenn sich die Shell nicht in einer Transaktion befindet.

qldb> exit $
qldb> quit $

Beispiel

Informationen zum Schreiben von PartiQL-Anweisungen in QLDB finden Sie unterAmazon QLDB PartiQL-Referenz.

Das folgende Beispiel zeigt eine typische Folge grundlegender Befehle.

Anmerkung

Die QLDB Shell führt jede PartiQL-Anweisung in diesem Beispiel in einer eigenen Transaktion aus.

In diesem Beispiel wird unterstellt, dass der Ledger test-ledger bereits vorhanden und aktiv ist.

$ 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