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/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.
Themen
Voraussetzungen
Bevor Sie mit der QLDB Shell beginnen, müssen Sie Folgendes tun:
-
Folgen Sie den Anweisungen zur AWS Einrichtung unterZugriff auf Amazon QLDB. Diese umfasst die folgenden Funktionen:
-
Melde dich an für AWS.
-
Erstellen Sie einen Benutzer mit den entsprechenden QLDB Berechtigungen.
-
Gewähren Sie programmatischen Zugriff für die Entwicklung.
-
-
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.
-
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
Für macOS ist die Shell in den aws/tap
Homebrew-Tap
$
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
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 Ihrerconfig.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.mdauto-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.
-
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 *>
-
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
-
-
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