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.
Tabellen
Tabellen sind die primären Datenstrukturen in Amazon Keyspaces. Die Daten in einer Tabelle sind in Zeilen und Spalten organisiert. Eine Teilmenge dieser Spalten wird verwendet, um die Partitionierung (und letztendlich die Datenplatzierung) durch die Angabe eines Partitionsschlüssels zu bestimmen.
Eine weitere Gruppe von Spalten kann als Cluster-Spalten definiert werden, was bedeutet, dass sie als Prädikate an der Abfrageausführung teilnehmen können.
Standardmäßig werden neue Tabellen mit bedarfsgesteuerter Durchsatzkapazität erstellt. Sie können den Kapazitätsmodus für neue und vorhandene Tabellen ändern. Weitere Hinweise zu den Modi für den read/write Kapazitätsdurchsatz finden Sie unterread/write Kapazitätsmodi in Amazon Keyspaces konfigurieren.
Für Tabellen im bereitgestellten Modus können Sie optional AUTOSCALING_SETTINGS konfigurieren. Weitere Informationen zur automatischen Skalierung von Amazon Keyspaces und den verfügbaren Optionen finden Sie unter. Konfigurieren Sie die automatische Skalierung für eine bestehende Tabelle
Informationen zu Kontingentbeschränkungen und Einschränkungen für Amazon Keyspaces-Tabellen finden Sie unter. Kontingente für Amazon Keyspaces (für Apache Cassandra)
Anweisungen für Tabellen
CREATE TABLE
Verwenden Sie die CREATE TABLE Anweisung, um eine neue Tabelle zu erstellen.
Syntax
create_table_statement ::= CREATE TABLE [ IF NOT EXISTS ] table_name '(' column_definition ( ',' column_definition )* [ ',' PRIMARY KEY '(' primary_key ')' ] ')' [ WITH table_options ] column_definition ::= column_name cql_type [ FROZEN ][ STATIC ][ PRIMARY KEY] primary_key ::= partition_key [ ',' clustering_columns ] partition_key ::= column_name | '(' column_name ( ',' column_name )* ')' clustering_columns ::= column_name ( ',' column_name )* table_options ::= [table_options] | CLUSTERING ORDER BY '(' clustering_order ')' [ AND table_options ] | cdc | CUSTOM_PROPERTIES | AUTOSCALING_SETTINGS | default_time_to_live | TAGS clustering_order ::= column_name (ASC | DESC) ( ',' column_name (ASC | DESC) )*
Wobei Folgendes gilt:
-
table_nameist der Name der Tabelle, die erstellt werden soll. Der vollqualifizierte Name enthält das Schlüsselraumpräfix. Alternativ können Sie den aktuellen Schlüsselraum mit derUSEKeyspace-Anweisung festlegen. -
column_definitionbesteht aus den folgenden Komponenten:-
column_name— Der Name der Spalte. -
cql_type— Ein Amazon Keyspaces-Datentyp (sieheDatentypen). -
FROZEN— Kennzeichnet diese Spalte, die benutzerdefiniert ist oder einen bestimmten Typ hatcollection(z. B.,, oderMAP)LISTSET, als eingefroren. Eine eingefrorene Sammlung wird in einen einzigen unveränderlichen Wert serialisiert und wie eine behandelt.BLOBWeitere Informationen finden Sie unter Sammlungstypen. STATIC— Kennzeichnet diese Spalte als statisch. Statische Spalten speichern Werte, die von allen Zeilen in derselben Partition gemeinsam genutzt werden.-
PRIMARY KEY— Kennzeichnet diese Spalte als Primärschlüssel der Tabelle.
-
-
primary_keybesteht aus den folgenden Elementen:-
partition_key -
clustering_columns
-
-
partition_key:-
Der Partitionsschlüssel kann eine einzelne Spalte oder ein zusammengesetzter Wert sein, der aus zwei oder mehr Spalten besteht. Der Partitionsschlüsselteil des Primärschlüssels ist erforderlich und bestimmt, wie Amazon Keyspaces Ihre Daten speichert.
-
-
clustering_columns:-
Der optionale Teil der Clustering-Spalte Ihres Primärschlüssels bestimmt, wie die Daten innerhalb der einzelnen Partitionen gruppiert und sortiert werden.
-
-
table_optionsbesteht aus den folgenden Elementen:-
CLUSTERING ORDER BY— Die standardmäßige CLUSTERING-REIHENFOLGE in einer Tabelle besteht aus Ihren Clustering-Schlüsseln in derASC(aufsteigenden) Sortierrichtung. Geben Sie es an, um das Standard-Sortierverhalten außer Kraft zu setzen. -
cdc— Ein boolescher Wert, der angibt, ob Amazon Keyspaces einen CDC-Stream (Change Data Capture) für die Tabelle erstellt. Der Standardwert istfalse. Um bei der Aktivierung einesview typeStreams den anzugeben, setzen Sie den Wert mit.cdc_specificationCUSTOM_PROPERTIES -
CUSTOM_PROPERTIES— Eine Übersicht der Einstellungen, die für Amazon Keyspaces spezifisch sind.-
capacity_mode: Gibt den read/write Durchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUESTundthroughput_mode:PROVISIONED. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_unitsundwrite_capacity_unitsals Eingaben. Der Standardwert istthroughput_mode:PAY_PER_REQUEST. -
cdc_specification: Gibt denview_typedes CDC-Streams an. Die Optionen sind:NEW_AND_OLD_IMAGES— beide Versionen der Zeile, vor und nach der Änderung. Das ist die Standardeinstellung.NEW_IMAGE— die Version der Zeile nach der Änderung.OLD_IMAGE— die Version der Zeile vor der Änderung.KEYS_ONLY— die Partitions- und Clusterschlüssel der Zeile, die geändert wurde.
Weitere Hinweise zu CDC-Streams finden Sie unter. Arbeiten mit Change Data Capture (CDC) -Streams in Amazon Keyspaces Codebeispiele finden Sie unter Aktivieren Sie einen CDC-Stream, wenn Sie eine neue Tabelle in Amazon Keyspaces erstellen.
-
client_side_timestamps: Gibt an, ob clientseitige Zeitstempel für die Tabelle aktiviert oder deaktiviert sind. Die Optionen sind{'status': 'enabled'}und{'status': 'disabled'}. Wenn es nicht angegeben ist, ist die Standardeinstellung.status:disabledNachdem clientseitige Zeitstempel für eine Tabelle aktiviert wurden, kann diese Einstellung nicht deaktiviert werden. -
encryption_specification: Gibt die Verschlüsselungsoptionen für die Verschlüsselung im Ruhezustand an. Wenn sie nicht angegeben ist, lautet die Standardeinstellungencryption_type:AWS_OWNED_KMS_KEY. Für die Verschlüsselungsoption „Vom Kunden verwalteter AWS KMS Schlüssel“ ist der Schlüssel im Format Amazon Resource Name (ARN) als Eingabe erforderlich:kms_key_identifier:ARN:kms_key_identifier:ARN. -
point_in_time_recovery: Gibt an, ob die Point-in-Time-Wiederherstellung für die Tabelle aktiviert oder deaktiviert ist. Die Optionen sindstatus:enabledundstatus:disabled. Wenn sie nicht angegeben ist, lautet die Standardeinstellung.status:disabled replica_updates: Gibt die Einstellungen einer Tabelle mit mehreren Regionen an, die spezifisch für eine AWS-Region sind. Für eine Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Tabelle unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Erstellen Sie eine Tabelle mit mehreren Regionen im Bereitstellungsmodus mit auto Skalierung in Amazon Keyspaces.region— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:read_capacity_units
-
TTL: Aktiviert benutzerdefinierte Time to Live-Einstellungen für die Tabelle. Um dies zu aktivieren, verwenden Siestatus:enabled. Der Standardwert iststatus:disabled. NachdemTTLes aktiviert ist, können Sie es für die Tabelle nicht deaktivieren.
-
AUTOSCALING_SETTINGSenthält die folgenden optionalen Einstellungen für Tabellen im bereitgestellten Modus. Weitere Informationen und Beispiele finden Sie unter Erstellen Sie eine neue Tabelle mit automatischer Skalierung.-
provisioned_write_capacity_autoscaling_update:autoscaling_disabled— Um die automatische Skalierung der Schreibkapazität zu aktivieren, setzen Sie den Wert auffalse. Der Standardwert isttrue. (Optional)minimum_units— Der Mindestwert an Schreibdurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).maximum_units— Der maximale Schreibdurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy— Amazon Keyspaces unterstützt die Target-Tracking-Richtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Schreibkapazität der Tabelle.target_tracking_scaling_policy_configuration— Um die Ziel-Tracking-Richtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Ziel-Tracking- und Cooldown-Perioden finden Sie unter Target Tracking Scaling-Richtlinien im Application Auto Scaling-Benutzerhandbuch.target_value— Die Zielauslastungsrate der Tabelle. Die automatische Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis zwischen verbrauchter Kapazität und bereitgestellter Kapazität bei oder in der Nähe dieses Werts bleibt. Sie definierentarget_valueals Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich)scale_in_cooldown— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Aktivitätsskala beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional)scale_out_cooldown— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Scale-Out-Aktivität beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional)disable_scale_in: Aboolean, das angibt, obscale-ines für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Um ihn einzuschaltenscale-in, setzen Sie denbooleanWert aufFALSE. Das bedeutet, dass die Kapazität für einen Tisch in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
provisioned_read_capacity_autoscaling_update:autoscaling_disabled— Um die automatische Skalierung für die Lesekapazität zu aktivieren, setzen Sie den Wert auffalse. Der Standardwert isttrue. (Optional)minimum_units— Der Mindestdurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).maximum_units— Der maximale Durchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem Kontingent für den maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy— Amazon Keyspaces unterstützt die Target-Tracking-Richtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Lesekapazität der Tabelle.-
target_tracking_scaling_policy_configuration— Um die Ziel-Tracking-Richtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Ziel-Tracking- und Cooldown-Perioden finden Sie unter Target Tracking Scaling-Richtlinien im Application Auto Scaling-Benutzerhandbuch.-
target_value— Die Zielauslastungsrate der Tabelle. Die automatische Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis zwischen verbrauchter Kapazität und bereitgestellter Kapazität bei oder in der Nähe dieses Werts bleibt. Sie definierentarget_valueals Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich) -
scale_in_cooldown— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Aktivitätsskala beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional) -
scale_out_cooldown— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Scale-Out-Aktivität beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional) -
disable_scale_in: Aboolean, das angibt, obscale-ines für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Um ihn einzuschaltenscale-in, setzen Sie denbooleanWert aufFALSE. Das bedeutet, dass die Kapazität für einen Tisch in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
-
replica_updates: Gibt die AWS-Region spezifischen Autoscaling-Einstellungen einer Tabelle mit mehreren Regionen an. Für eine Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Tabelle unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Aktualisieren Sie die bereitgestellten Kapazitäten und Auto-Scaling-Einstellungen für eine Tabelle mit mehreren Regionen in Amazon Keyspaces.region— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:provisioned_read_capacity_autoscaling_updateautoscaling_disabled— Um die automatische Skalierung für die Lesekapazität der Tabelle zu aktivieren, setzen Sie den Wert auffalse. Der Standardwert isttrue. (Optional)Anmerkung
Die automatische Skalierung für eine Tabelle mit mehreren Regionen muss für alle Replikate der Tabelle entweder aktiviert oder deaktiviert werden.
minimum_units— Der Mindest-Lesedurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).maximum_units— Der maximale Lesedurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy— Amazon Keyspaces unterstützt die Target-Tracking-Richtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Lesekapazität der Tabelle.target_tracking_scaling_policy_configuration— Um die Ziel-Tracking-Richtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Ziel-Tracking- und Cooldown-Perioden finden Sie unter Target Tracking Scaling-Richtlinien im Application Auto Scaling-Benutzerhandbuch.target_value— Die Zielauslastungsrate der Tabelle. Die automatische Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis der verbrauchten Lesekapazität zur bereitgestellten Lesekapazität bei oder in der Nähe dieses Werts bleibt. Sie definierentarget_valueals Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich)scale_in_cooldown— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Aktivitätsskala beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional)scale_out_cooldown— Eine Abklingzeit in Sekunden zwischen Skalierungsaktivitäten, durch die sich die Tabelle stabilisiert, bevor eine weitere Scale-Out-Aktivität beginnt. Wenn kein Wert angegeben wird, ist der Standardwert 0. (Optional)disable_scale_in: Aboolean, das angibt, obscale-ines für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Um ihn einzuschaltenscale-in, setzen Sie denbooleanWert aufFALSE. Das bedeutet, dass die Lesekapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
default_time_to_live— Die Standardeinstellung „Time to Live“ in Sekunden für die Tabelle.TAGS— Eine Liste von Schlüssel-Wert-Paar-Tags, die an die Ressource angehängt werden, wenn sie erstellt wird.-
clustering_orderbesteht aus den folgenden Elementen:-
column_name— Der Name der Spalte. -
ASC | DESC— Legt den Modifikator in der Reihenfolge aufsteigend (ASC) oder absteigend (DESC) fest. Wenn er nicht angegeben ist, ist die Standardreihenfolge ASC.
-
-
Beispiel
CREATE TABLE IF NOT EXISTSmy_keyspace.my_table( id text, name text, region text, division text, project text, role text, pay_scale int, vacation_hrs float, manager_id text, PRIMARY KEY (id,division)) WITH CUSTOM_PROPERTIES={ 'capacity_mode':{ 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20 }, 'point_in_time_recovery':{'status': 'enabled'}, 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111' } } AND CLUSTERING ORDER BY (division ASC) AND TAGS={'key1':'val1', 'key2':'val2'} AND default_time_to_live = 3024000;
In einer Tabelle, die gruppierte Spalten verwendet, können Spalten ohne Cluster-Bildung in der Tabellendefinition als statisch deklariert werden. Weitere Hinweise zu statischen Spalten finden Sie unter. Schätzen Sie den Kapazitätsverbrauch für statische Spalten in Amazon Keyspaces
Beispiel
CREATE TABLEmy_keyspace.my_table( id int, name text, region text, division text, project text STATIC, PRIMARY KEY (id,division));
Sie können eine Tabelle mit einer Spalte erstellen, die einen benutzerdefinierten Typ (UDT) verwendet. Die erste Anweisung in den Beispielen erstellt einen Typ, die zweite Anweisung erstellt eine Tabelle mit einer Spalte, die den Typ verwendet.
Beispiel
CREATE TYPE my_keyspace."udt""N@ME" (my_field int); CREATE TABLE my_keyspace.my_table (my_col1 int pri key, my_col2 "udt""N@ME");
ALTER TABLE
Verwenden Sie die ALTER TABLE Anweisung, um neue Spalten hinzuzufügen, Tags hinzuzufügen oder die benutzerdefinierten Eigenschaften der Tabelle zu ändern.
Syntax
alter_table_statement ::= ALTER TABLE table_name [ ADD ( column_definition | column_definition_list) ] [[ADD | DROP] TAGS {'key1':'val1', 'key2':'val2'}] [ WITH table_options [ , ... ] ] ; column_definition ::= column_name cql_type
Wobei Folgendes gilt:
-
table_nameist der Name der Tabelle, die geändert werden soll. -
column_definitionist der Name der Spalte und des Datentyps, die hinzugefügt werden sollen. -
column_definition_listist eine durch Kommas getrennte Liste von Spalten, die in Klammern stehen. -
table_optionsbesteht aus den folgenden Elementen:AUTOSCALING_SETTINGSbeinhaltet die optionalen Autoscaling-Einstellungen für bereitgestellte Tabellen. Syntax und ausführliche Beschreibungen finden Sie unterCREATE TABLE. Beispiele finden Sie unter Konfigurieren Sie die automatische Skalierung für eine bestehende Tabelle.-
cdc— Ein boolescher Wert, der angibt, ob Amazon Keyspaces einen Change Data Capture (CDC) -Stream für die Tabelle erstellt. Der Standardwert istfalse. Um bei der Aktivierung einesview typeStreams den anzugeben, setzen Sie den Wert mit.cdc_specificationCUSTOM_PROPERTIES -
CUSTOM_PROPERTIES— Eine Übersicht der für Amazon Keyspaces spezifischen Einstellungen.-
capacity_mode: Gibt den read/write Durchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUESTundthroughput_mode:PROVISIONED. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_unitsundwrite_capacity_unitsals Eingaben. Der Standardwert istthroughput_mode:PAY_PER_REQUEST. -
cdc_specification: Gibt denview_typedes CDC-Streams an. Die Optionen sind:NEW_AND_OLD_IMAGES— beide Versionen der Zeile, vor und nach der Änderung. Das ist die Standardeinstellung.NEW_IMAGE— die Version der Zeile nach der Änderung.OLD_IMAGE— die Version der Zeile vor der Änderung.KEYS_ONLY— die Partitions- und Clusterschlüssel der Zeile, die geändert wurde.
Weitere Hinweise zu CDC-Streams finden Sie unter. Arbeiten mit Change Data Capture (CDC) -Streams in Amazon Keyspaces Codebeispiele finden Sie unter Aktivieren Sie einen CDC-Stream für eine vorhandene Tabelle in Amazon Keyspaces.
-
client_side_timestamps: Gibt an, ob clientseitige Zeitstempel für die Tabelle aktiviert oder deaktiviert sind. Die Optionen sind{'status': 'enabled'}und{'status': 'disabled'}. Wenn es nicht angegeben ist, ist die Standardeinstellung.status:disabledNachdem clientseitige Zeitstempel für eine Tabelle aktiviert wurden, kann diese Einstellung nicht deaktiviert werden. -
encryption_specification: Gibt die Verschlüsselungsoption für die Verschlüsselung im Ruhezustand an. Die Optionen sindencryption_type:AWS_OWNED_KMS_KEYundencryption_type:CUSTOMER_MANAGED_KMS_KEY. Für die Verschlüsselungsoption „Vom Kunden verwalteter AWS KMS Schlüssel“ ist der Schlüssel im Format Amazon Resource Name (ARN) als Eingabe erforderlich:kms_key_identifier:ARN. -
point_in_time_recovery: Gibt an, ob die Point-in-Time-Wiederherstellung für die Tabelle aktiviert oder deaktiviert ist. Die Optionen sindstatus:enabledundstatus:disabled. Der Standardwert iststatus:disabled. replica_updates: Gibt die AWS-Region spezifischen Einstellungen einer Tabelle mit mehreren Regionen an. Für eine Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Tabelle unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Aktualisieren Sie die bereitgestellten Kapazitäten und Auto-Scaling-Einstellungen für eine Tabelle mit mehreren Regionen in Amazon Keyspaces.region— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:read_capacity_units
-
ttl: Aktiviert benutzerdefinierte Time to Live-Einstellungen für die Tabelle. Um dies zu aktivieren, verwenden Siestatus:enabled. Der Standardwert iststatus:disabled. Nachdemttles aktiviert ist, können Sie es für die Tabelle nicht deaktivieren.
-
-
default_time_to_live: Die Standardeinstellung „Time to Live“ in Sekunden für die Tabelle. -
TAGSist eine Liste von Schlüssel-Wert-Paar-Tags, die an die Ressource angehängt werden sollen.
Anmerkung
Mit ALTER TABLE können Sie nur eine einzige benutzerdefinierte Eigenschaft ändern. Sie können nicht mehr als einen ALTER TABLE-Befehl in derselben Anweisung kombinieren.
Beispiele
Die folgende Anweisung zeigt, wie einer vorhandenen Tabelle eine Spalte hinzugefügt wird.
ALTER TABLEmykeyspace.mytableADD (ID int);
Diese Anweisung zeigt, wie einer vorhandenen Tabelle zwei Sammlungsspalten hinzugefügt werden:
-
Eine eingefrorene Sammlungsspalte
col_frozen_list, die eine verschachtelte eingefrorene Sammlung enthält -
Eine nicht eingefrorene Sammlungsspalte
col_map, die eine verschachtelte eingefrorene Sammlung enthält
ALTER TABLEmy_TableADD(col_frozen_listFROZEN<LIST<FROZEN<SET<TEXT>>>>,col_mapMAP<INT, FROZEN<SET<INT>>>);
Das folgende Beispiel zeigt, wie einer Tabelle eine Spalte hinzugefügt wird, die einen benutzerdefinierten Typ (UDT) verwendet.
ALTER TABLE my_keyspace.my_table ADD (my_column, my_udt;);
Um den Kapazitätsmodus einer Tabelle zu ändern und Lese- und Schreibkapazitätseinheiten anzugeben, können Sie die folgende Anweisung verwenden.
ALTER TABLEmykeyspace.mytableWITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}};
Die folgende Anweisung gibt einen vom Kunden verwalteten KMS-Schlüssel für die Tabelle an.
ALTER TABLEmykeyspace.mytableWITH CUSTOM_PROPERTIES={ 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111' } };
Um die Point-in-Time-Wiederherstellung für eine Tabelle zu aktivieren, können Sie die folgende Anweisung verwenden.
ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'point_in_time_recovery': {'status': 'enabled'}};
Um einen Standardwert für die Gültigkeitsdauer in Sekunden für eine Tabelle festzulegen, können Sie die folgende Anweisung verwenden.
ALTER TABLEmy_tableWITH default_time_to_live = 2592000;
Diese Anweisung ermöglicht benutzerdefinierte Time-to-Live-Einstellungen für eine Tabelle.
ALTER TABLEmytableWITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
TABELLE WIEDERHERSTELLEN
Verwenden Sie die RESTORE TABLE Anweisung, um eine Tabelle auf einen bestimmten Zeitpunkt zurückzusetzen. Für diese Anweisung muss die Point-in-Time-Wiederherstellung für eine Tabelle aktiviert sein. Weitere Informationen finden Sie unter Daten mit Point-in-Time-Recovery für Amazon Keyspaces Backup und wiederherstellen.
Syntax
restore_table_statement ::= RESTORE TABLE restored_table_name FROM TABLE source_table_name [ WITH table_options [ , ... ] ];
Wobei Folgendes gilt:
-
restored_table_nameist der Name der wiederhergestellten Tabelle. -
source_table_nameist der Name der Quelltabelle. -
table_optionsbesteht aus den folgenden Elementen:-
restore_timestampist die Uhrzeit des Wiederherstellungszeitpunkts im ISO 8601-Format. Wenn er nicht angegeben ist, wird der aktuelle Zeitstempel verwendet. -
CUSTOM_PROPERTIES— Eine Übersicht der für Amazon Keyspaces spezifischen Einstellungen.-
capacity_mode: Gibt den read/write Durchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUESTundthroughput_mode:PROVISIONED. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_unitsundwrite_capacity_unitsals Eingaben. Die Standardeinstellung ist die aktuelle Einstellung aus der Quelltabelle. -
encryption_specification: Gibt die Verschlüsselungsoption für die Verschlüsselung im Ruhezustand an. Die Optionen sindencryption_type:AWS_OWNED_KMS_KEYundencryption_type:CUSTOMER_MANAGED_KMS_KEY. Für die Verschlüsselungsoption „Vom Kunden verwalteter AWS KMS Schlüssel“ ist der Schlüssel im Format Amazon Resource Name (ARN) als Eingabe erforderlich:kms_key_identifier:ARN. Um eine mit einem vom Kunden verwaltete Schlüssel verschlüsselte Tabelle in eine mit einem verschlüsselte Tabelle wiederherzustellen AWS-eigener Schlüssel, benötigt Amazon Keyspaces Zugriff auf den AWS KMS Schlüssel der Quelltabelle. -
point_in_time_recovery: Gibt an, ob die Point-in-Time-Wiederherstellung für die Tabelle aktiviert oder deaktiviert ist. Die Optionen sindstatus:enabledundstatus:disabled. Anders als beim Erstellen neuer Tabellen liegt der Standardstatus für wiederhergestellte Tabellen darin,status:enableddass die Einstellung von der Quelltabelle übernommen wurde. Um PITR für wiederhergestellte Tabellen zu deaktivieren, müssen Siestatus:disableddies explizit festlegen. replica_updates: Gibt die AWS-Region spezifischen Einstellungen einer Tabelle mit mehreren Regionen an. Für eine Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Tabelle unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren.region— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:read_capacity_units
-
AUTOSCALING_SETTINGSbeinhaltet die optionalen Autoscaling-Einstellungen für bereitgestellte Tabellen. Ausführliche Syntax und Beschreibungen finden Sie unterCREATE TABLE.-
TAGSist eine Liste von Schlüssel-Wert-Paar-Tags, die an die Ressource angehängt werden sollen.
-
Anmerkung
Gelöschte Tabellen können nur zum Zeitpunkt des Löschens wiederhergestellt werden.
Beispiel
RESTORE TABLE mykeyspace.mytable_restored from table mykeyspace.my_table WITH restore_timestamp = '2020-06-30T04:05:00+0000' AND custom_properties = {'point_in_time_recovery':{'status':'disabled'}, 'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}} AND TAGS={'key1':'val1', 'key2':'val2'};
DROP TABLE
Verwenden Sie die DROP TABLE Anweisung, um eine Tabelle aus dem Schlüsselraum zu entfernen.
Syntax
drop_table_statement ::= DROP TABLE [ IF EXISTS ] table_name
Wobei Folgendes gilt:
-
IF EXISTSDROP TABLEverhindert, dass Fehler auftreten, wenn die Tabelle nicht existiert. (Optional) -
table_nameist der Name der Tabelle, die gelöscht werden soll.
Beispiel
DROP TABLE my_keyspace.my_table;