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.
Verwalten von Tabellen
Dieser Abschnitt beschreibt, wie Sie Tabellen mithilfe derDROP TABLE
UNDROP TABLE
AND-Anweisungen in Amazon QLDB verwalten. Außerdem wird beschrieben, wie Sie Tabellen taggen, während Sie sie erstellen. Die Kontingente für die Anzahl der aktiven Tabellen und Gesamttabellen, die Sie erstellen können, sind in Kontingente und Limits in Amazon QLDB definiert.
Themen
Markierung von Tabellen bei der Erstellung
Anmerkung
Das Markieren von Tabellen bei der Erstellung wird derzeit nur für Ledger imSTANDARD
Berechtigungsmodus unterstützt.
Sie können Ihre Tabellenressourcen markieren. Um Tags für bestehende Tabellen zu verwalten, verwenden Sie dieAWS Management Console oder die API-OperationenTagResource
UntagResource
, undListTagsForResource
. Weitere Informationen finden Sie unter Markieren von Amazon-QLDB Ressourcen.
Sie können Tabellentags auch definieren, während Sie die Tabelle erstellen, indem Sie die QLDB-Konsole verwenden oder indem Sie sie in einerCREATE TABLE
PartiQL-Anweisung angeben. Im folgenden Beispiel wird eine Tabelle erstellt, dieVehicle
mit dem Tag benannt istenvironment=production
.
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)
Indem Sie Ressourcen zum Erstellungszeitpunkt markieren, müssen Sie anschließend keine benutzerdefinierten Markierungs-Skripts ausführen. Nachdem eine Tabelle markiert wurde, können Sie den Zugriff auf die Tabelle anhand dieser Tags steuern. Sie können beispielsweise vollen Zugriff nur auf Tabellen gewähren, die ein bestimmtes Tag haben. Ein Beispiel für eine JSON-Richtlinie finden Sie unterVollzugriff auf alle Aktionen, die auf Tabellen-Tags basieren.
Tabellen löschen
Um eine Tabelle zu entfernen, verwenden Sie eine grundlegende DROP TABLE-Anweisung. Wenn Sie eine Tabelle in QLDB löschen, deaktivieren Sie sie lediglich.
Die folgende Anweisung deaktiviert beispielsweise dieVehicleRegistration
Tabelle.
DROP TABLE VehicleRegistration
EineDROP TABLE
Anweisung gibt die vom System zugewiesene ID der Tabelle zurück. Der Status vonVehicleRegistration
sollte jetztINACTIVE
in der Systemkatalogtabelle information_schema.user_tables stehen.
SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
Den Verlauf inaktiver Tabellen abfragen
Zusätzlich zu einem Tabellennamen können Sie die QLDB auchVerlaufsfunktion mit einer Tabellen-ID als erstem Eingabeargument abfragen. Sie müssen die Tabellen-ID verwenden, um den Verlauf einer inaktiven Tabelle abzufragen. Nachdem eine Tabelle deaktiviert wurde, können Sie ihren Verlauf nicht mehr mit dem Tabellennamen abfragen.
Suchen Sie zunächst die Tabellen-ID, indem Sie die Systemkatalogtabelle abfragen. Die folgende Abfrage gibt beispielsweise die tableId
der VehicleRegistration
-Tabelle zurück.
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
Anschließend können Sie diese ID verwenden, um dieselbe Verlaufsabfrage auszuführenAbfragen des Revisionsverlaufs. Im Folgenden finden Sie ein Beispiel, das den Verlauf der Dokument-ID ADR2Ll1fGsU4Jr4EqTdnQF
aus der Tabellen-ID 5PLf9SXwndd63lPaSIa0O6
abfragt. Die Tabellen-ID ist ein Zeichenfolgenliteralwert, der in einfache Anführungszeichen eingeschlossen werden muss.
--replace both the table and document IDs with your values SELECT * FROM history('5PLf9SXwndd63lPaSIa0O6', `2000T`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF'
Tabellen reaktivieren
Nachdem Sie eine Tabelle in QLDB deaktiviert haben, können Sie dieUNDROP TABLE Anweisung verwenden, um sie zu reaktivieren.
Suchen Sie zuerst die Tabellen-ID von information_schema.user_tables
. Die folgende Abfrage gibt beispielsweise die tableId
der VehicleRegistration
-Tabelle zurück. Der Status sollte INACTIVE
lauten.
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
Verwenden Sie dann diese ID, um die Tabelle erneut zu aktivieren. Im Folgenden finden Sie ein Beispiel, das die Tabellen-ID rückgängig macht5PLf9SXwndd63lPaSIa0O6
. In diesem Fall ist die Tabellen-ID eine eindeutige Kennung, die Sie in doppelte Anführungszeichen setzen.
UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"
Der Status von VehicleRegistration
sollte jetzt ACTIVE
lauten.
Weitere Informationen zum Erstellen, Beschreiben und Löschen von Indizes finden Sie unterVerwalten von Indexen.