Verwalten von Tabellen - Amazon Quantum Ledger Database (Amazon QLDB)

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 TABLEUNDROP 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.

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-OperationenTagResourceUntagResource, 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.