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.
DDL-Anweisungen (Datendefinitionssprache) in Amazon Keyspaces
Data Definition Language (DDL) ist der Satz von Cassandra Query Language (CQL) -Anweisungen, die Sie verwenden, um Datenstrukturen in Amazon Keyspaces (für Apache Cassandra) zu verwalten, z. B. Schlüsselräume und Tabellen. Sie verwenden DDL, um diese Datenstrukturen zu erstellen, sie zu ändern, nachdem sie erstellt wurden, und sie zu entfernen, wenn sie nicht mehr verwendet werden. Amazon Keyspaces führt DDL-Operationen asynchron aus. Weitere Informationen darüber, wie Sie überprüfen können, ob ein asynchroner Vorgang abgeschlossen wurde, finden Sie unter. Asynchrones Erstellen und Löschen von Schlüsselräumen und Tabellen
Die folgenden DDL-Anweisungen werden unterstützt:
Keyspaces
Ein Schlüsselraum gruppiert verwandte Tabellen, die für eine oder mehrere Anwendungen relevant sind. In Bezug auf ein relationales Datenbankmanagementsystem (RDBMS) ähneln Schlüsselräume in etwa Datenbanken, Tablespaces oder ähnlichen Konstrukten.
Anmerkung
In Apache Cassandra bestimmen Schlüsselräume, wie Daten zwischen mehreren Speicherknoten repliziert werden. Amazon Keyspaces ist jedoch ein vollständig verwalteter Service: Die Details der Speicherebene werden in Ihrem Namen verwaltet. Aus diesem Grund sind Schlüsselräume in Amazon Keyspaces nur logische Konstrukte und haben nichts mit dem zugrunde liegenden physischen Speicher zu tun.
Informationen zu Kontingentbeschränkungen und Einschränkungen für Amazon Keyspaces-Keyspaces finden Sie unter. Kontingente für Amazon Keyspaces (für Apache Cassandra)
Anweisungen für Schlüsselräume
SCHLÜSSELRAUM ERSTELLEN
Verwenden Sie die CREATE KEYSPACE
Anweisung, um einen neuen Schlüsselraum zu erstellen.
Syntax
create_keyspace_statement ::= CREATE KEYSPACE [ IF NOT EXISTS ] keyspace_name WITH options
Wobei gilt:
-
keyspace_name
ist der Name des zu erstellenden Schlüsselraums. -
Optionen sind eine oder mehrere der folgenden Optionen:
-
REPLICATION
— Eine Map, die die Replikationsstrategie für den Schlüsselraum angibt:-
SingleRegionStrategy
— Für einen Schlüsselraum mit nur einer Region. (Erforderlich) -
NetworkTopologyStrategy
— Geben Sie mindestens zwei und bis zu sechs an. AWS-Regionen Der Replikationsfaktor für jede Region ist drei. (Optional)
-
-
DURABLE_WRITES
— Schreibvorgänge in Amazon Keyspaces sind immer dauerhaft, sodass diese Option nicht erforderlich ist. Falls angegeben, muss der Wert jedoch sein.true
-
TAGS
— Eine Liste von Schlüssel-Wert-Paar-Tags, die bei der Erstellung an die Ressource angehängt werden sollen. (Optional)
-
Beispiel
Erstellen Sie einen Schlüsselraum wie folgt.
CREATE KEYSPACE
my_keyspace
WITH REPLICATION = {'class': 'SingleRegionStrategy'} and TAGS ={'key1':'val1', 'key2':'val2'} ;
Um einen Schlüsselraum für mehrere Regionen zu erstellen, geben Sie mindestens zwei NetworkTopologyStrategy
und bis zu sechs an und schließen Sie diese ein. AWS-Regionen Der Replikationsfaktor für jede Region ist drei.
CREATE KEYSPACE
my_keyspace
WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3'};
SCHLÜSSELRAUM ÄNDERN
Verwenden Sie denALTER KEYSPACE
, um Tags zu einem Schlüsselraum hinzuzufügen oder daraus zu entfernen.
Syntax
alter_keyspace_statement ::= ALTER KEYSPACE keyspace_name [[ADD | DROP] TAGS
Wobei gilt:
-
keyspace_name
ist der Name des Schlüsselraums, der geändert werden soll. -
TAGS
— Eine Liste von Schlüssel-Wert-Paar-Tags, die dem Schlüsselraum hinzugefügt oder daraus entfernt werden sollen.
Beispiel
Ändern Sie einen Schlüsselraum wie folgt.
ALTER KEYSPACE "myGSGKeyspace" ADD TAGS {'key1':'val1', 'key2':'val2'};
SCHLÜSSELRAUM LÖSCHEN
Verwenden Sie die DROP KEYSPACE
Anweisung, um einen Schlüsselraum einschließlich seines gesamten Inhalts, z. B. Tabellen, zu entfernen.
Syntax
drop_keyspace_statement ::= DROP KEYSPACE [ IF EXISTS ] keyspace_name
Wobei gilt:
-
keyspace_name ist der Name des Schlüsselraums, der gelöscht werden soll.
Beispiel
DROP KEYSPACE "myGSGKeyspace";
Tabellen
Tabellen sind die primären Datenstrukturen in Amazon Keyspaces. Daten in einer Tabelle sind in Zeilen und Spalten organisiert. Eine Teilmenge dieser Spalten wird verwendet, um die Partitionierung (und letztlich die Datenplatzierung) durch die Angabe eines Partitionsschlüssels zu bestimmen.
Eine weitere Gruppe von Spalten kann in Clusterspalten definiert werden, was bedeutet, dass sie als Prädikate an der Abfrageausführung beteiligt sein können.
Standardmäßig werden neue Tabellen mit On-Demand-Durchsatzkapazität erstellt. Sie können den Kapazitätsmodus für neue und bestehende Tabellen ändern. Weitere Informationen zu den Durchsatzmodi mit Lese-/Schreibkapazität finden Sie unter. Lese-/Schreibkapazitätsmodi in Amazon Keyspaces
Für Tabellen im Bereitstellungsmodus können Sie sie optional konfigurieren. AUTOSCALING_SETTINGS
Weitere Informationen zur auto Skalierung von Amazon Keyspaces und den verfügbaren Optionen finden Sie unterVerwalten von Amazon Keyspaces Auto Scaling mit Cassandra Query Language (CQL).
Informationen zu Kontingentbeschränkungen und Einschränkungen für Amazon Keyspaces-Tabellen finden Sie unterKontingente für Amazon Keyspaces (für Apache Cassandra).
Aussagen 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 ] | options | CUSTOM_PROPERTIES | AUTOSCALING_SETTINGS | default_time_to_live | TAGS clustering_order ::= column_name (ASC | DESC) ( ',' column_name (ASC | DESC) )*
Wobei gilt:
-
table_name
ist der Name der Tabelle, die erstellt werden soll. -
column_definition
besteht aus den folgenden Komponenten:-
column_name
— Der Name der Spalte. -
cql_type
— Ein Amazon Keyspaces-Datentyp (sieheDatentypen). -
FROZEN
— Kennzeichnet diese Spalte vom Typcollection
(zum Beispiel,LIST
SET
, oderMAP
) als eingefroren. Eine eingefrorene Sammlung wird in einen einzigen unveränderlichen Wert serialisiert und wie eine behandelt.BLOB
Weitere 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
— Bezeichnet diese Spalte als Primärschlüssel der Tabelle.
-
-
primary_key
besteht aus den folgenden Komponenten:-
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_options
bestehen aus den folgenden Komponenten:-
CLUSTERING ORDER BY
— Die standardmäßige CLUSTERING-REIHENFOLGE für eine Tabelle setzt sich aus Ihren Gruppierungsschlüsseln inASC
(aufsteigender) Sortierrichtung zusammen. Geben Sie es an, um das Standard-Sortierverhalten zu überschreiben. -
CUSTOM_PROPERTIES
— Eine Karte mit Einstellungen, die für Amazon Keyspaces spezifisch sind.-
capacity_mode
: Gibt den Lese-/Schreibdurchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUEST
undthroughput_mode:PROVISIONED
. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_units
undwrite_capacity_units
als Eingaben. Der Standardwert istthroughput_mode:PAY_PER_REQUEST
. -
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:disabled
Nachdem 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 es nicht angegeben ist, ist die Standardeinstellungencryption_type:AWS_OWNED_KMS_KEY
. Die vom Kunden verwaltete Verschlüsselungsoption erfordert den AWS KMS Schlüssel im Format Amazon Resource Name (ARN) als Eingabe: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:enabled
undstatus:disabled
. Wenn es nicht angegeben ist, ist die Standardeinstellungstatus:disabled
. replica_updates
: Gibt die Einstellungen einer Tabelle mit mehreren Regionen an, die spezifisch für eine AWS-Region sind. Bei einer Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Region unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Erstellen einer multiregionalen Tabelle mit bereitgestelltem Kapazitätsmodus und Auto Scaling (CQL).region
— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:read_capacity_units
-
TTL
: Aktiviert die benutzerdefinierten Time to Live-Einstellungen für die Tabelle. Verwenden Sie zum Aktivierenstatus:enabled
. Der Standardwert iststatus:disabled
. NachTTL
der Aktivierung können Sie es für die Tabelle nicht mehr deaktivieren.
-
AUTOSCALING_SETTINGS
beinhaltet die folgenden optionalen Einstellungen für Tabellen im Bereitstellungsmodus. Weitere Informationen und Beispiele finden Sie unter Erstellen einer neuen Tabelle mit automatischer Skalierung mithilfe von CQL.-
provisioned_write_capacity_autoscaling_update
:autoscaling_disabled
— Um die auto Skalierung für die Schreibkapazität zu aktivieren, setzen Sie den Wert auffalse
. Der Standardwert isttrue
. (Optional)minimum_units
— Der Mindestwert für den Schreibdurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Kontingent für den 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 Kontingent für den Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy
— Amazon Keyspaces unterstützt die Zielverfolgungsrichtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Schreibkapazität der Tabelle.target_tracking_scaling_policy_configuration
— Um die Zielverfolgungsrichtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Target Tracking und Cooldown-Perioden finden Sie unter Target Tracking Scaling Policies im Application Auto Scaling User Guide.target_value
— Die Zielauslastungsrate der Tabelle. Die auto Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis von verbrauchter Kapazität zu bereitgestellter Kapazität auf oder nahe diesem Wert bleibt. Sie definierentarget_value
als Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich)scale_in_cooldown
— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, sodass 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-in
es für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Stellen Sie zumscale-in
Einschalten denboolean
Wert auf einFALSE
. Das bedeutet, dass die Kapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
provisioned_read_capacity_autoscaling_update
:autoscaling_disabled
— Um die auto 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 Kontingent für den 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 maximalen Kontingent für den Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy
— Amazon Keyspaces unterstützt die Zielverfolgungsrichtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Lesekapazität der Tabelle.-
target_tracking_scaling_policy_configuration
— Um die Zielverfolgungsrichtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Target Tracking und Cooldown-Perioden finden Sie unter Target Tracking Scaling Policies im Application Auto Scaling User Guide.-
target_value
— Die Zielauslastungsrate der Tabelle. Die auto Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis von verbrauchter Kapazität zu bereitgestellter Kapazität auf oder nahe diesem Wert bleibt. Sie definierentarget_value
als Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich) -
scale_in_cooldown
— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, sodass 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-in
es für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Stellen Sie zumscale-in
Einschalten denboolean
Wert auf einFALSE
. Das bedeutet, dass die Kapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
-
replica_updates
: Gibt die AWS-Region spezifischen Auto-Scaling-Einstellungen einer Tabelle mit mehreren Regionen an. Bei einer Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Region unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Erstellen einer multiregionalen Tabelle mit bereitgestelltem Kapazitätsmodus und Auto Scaling (CQL).region
— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:provisioned_read_capacity_autoscaling_update
autoscaling_disabled
— Um die auto Skalierung für die Lesekapazität der Tabelle zu aktivieren, setzen Sie den Wert auffalse
. Der Standardwert isttrue
. (Optional)Anmerkung
Auto Scaling für eine Tabelle mit mehreren Regionen muss für alle Replikate der Tabelle entweder aktiviert oder deaktiviert sein.
minimum_units
— Der minimale Lesedurchsatz, den die Tabelle immer unterstützen sollte. Der Wert muss zwischen 1 und dem maximalen Kontingent für den 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 Kontingent für den Durchsatz pro Sekunde für Ihr Konto liegen (standardmäßig 40.000).scaling_policy
— Amazon Keyspaces unterstützt die Zielverfolgungsrichtlinie. Das Auto Scaling-Ziel ist die bereitgestellte Lesekapazität der Tabelle.target_tracking_scaling_policy_configuration
— Um die Zielverfolgungsrichtlinie zu definieren, müssen Sie den Zielwert definieren. Weitere Informationen zu Target Tracking und Cooldown-Perioden finden Sie unter Target Tracking Scaling Policies im Application Auto Scaling User Guide.target_value
— Die Zielauslastungsrate der Tabelle. Die auto Skalierung von Amazon Keyspaces stellt sicher, dass das Verhältnis zwischen verbrauchter Lesekapazität und bereitgestellter Lesekapazität bei oder nahe diesem Wert bleibt. Sie definierentarget_value
als Prozentsatz. Ein Doppelter zwischen 20 und 90. (Erforderlich)scale_in_cooldown
— Eine Abklingzeit in Sekunden zwischen den Skalierungsaktivitäten, sodass 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-in
es für die Tabelle deaktiviert oder aktiviert ist. Dieser Parameter ist standardmäßig deaktiviert. Stellen Sie zumscale-in
Einschalten denboolean
Wert auf einFALSE
. Das bedeutet, dass die Lesekapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird. (Optional)
-
default_time_to_live
— Die Standardeinstellung für die Gültigkeitsdauer der Tabelle in Sekunden.TAGS
— Eine Liste von Schlüssel-Wert-Paar-Tags, die bei ihrer Erstellung an die Ressource angehängt werden sollen.
-
-
clustering_order
besteht aus den folgenden Teilen:-
column_name
— Der Name der Spalte. -
ASC | DESC
— Legt den Modifikator für die aufsteigende (ASC
) oder absteigende (DESC
) Reihenfolge fest. Wenn er nicht angegeben ist, ist die Standardreihenfolge ASC.
-
Beispiel
CREATE TABLE IF NOT EXISTS
"my_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 Clusterspalten verwendet, können Spalten, die keine Clusterbildung bilden, in der Tabellendefinition als statisch deklariert werden. Weitere Hinweise zu statischen Spalten finden Sie unter. Statische Spalten in Amazon Keyspaces
Beispiel
CREATE TABLE
"my_keyspace".my_table
( id int, name text, region text, division text, project text STATIC, PRIMARY KEY (id,division));
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 gilt:
-
table_name
ist der Name der Tabelle, die geändert werden soll. -
column_definition
ist der Name der Spalte und des Datentyps, die hinzugefügt werden sollen. -
column_definition_list
ist eine durch Kommas getrennte Liste von Spalten, die in Klammern stehen. -
table_options
besteht aus den folgenden Komponenten:-
CUSTOM_PROPERTIES
— Eine Karte mit Einstellungen, die für Amazon Keyspaces spezifisch sind.-
capacity_mode
: Gibt den Lese-/Schreibdurchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUEST
undthroughput_mode:PROVISIONED
. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_units
undwrite_capacity_units
als Eingaben. Der Standardwert istthroughput_mode:PAY_PER_REQUEST
. -
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:disabled
Nachdem 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_KEY
undencryption_type:CUSTOMER_MANAGED_KMS_KEY
. Die vom Kunden verwaltete Verschlüsselungsoption erfordert den AWS KMS Schlüssel im Format Amazon Resource Name (ARN) als Eingabe: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:enabled
undstatus:disabled
. Der Standardwert iststatus:disabled
. replica_updates
: Gibt die AWS-Region spezifischen Einstellungen einer Tabelle mit mehreren Regionen an. Bei einer Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Region unterschiedlich konfigurieren. AWS-Region Sie können dies tun, indem Sie die folgenden Parameter konfigurieren. Weitere Informationen und Beispiele finden Sie unter Aktualisieren der bereitgestellten Kapazität und Auto-Scaling-Einstellungen einer Tabelle mit mehreren Regionen (CQL).region
— Das AWS-Region des Tabellenreplikats mit den folgenden Einstellungen:read_capacity_units
-
ttl
: Aktiviert die benutzerdefinierten Time to Live-Einstellungen für die Tabelle. Verwenden Sie zum Aktivierenstatus:enabled
. Der Standardwert iststatus:disabled
. Nachttl
der Aktivierung können Sie es für die Tabelle nicht mehr deaktivieren.
-
AUTOSCALING_SETTINGS
beinhaltet die optionalen Auto Scaling-Einstellungen für bereitgestellte Tabellen. Die Syntax und ausführliche Beschreibungen finden Sie unterCREATE TABLE. Beispiele finden Sie unter Aktivieren der automatischen Skalierung für eine vorhandene Tabelle mithilfe von CQL.
-
-
default_time_to_live
: Die Standardeinstellung „Time to Live“ für die Tabelle in Sekunden. -
TAGS
ist 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 TABLE
mykeyspace.mytable
ADD (ID int);
Diese Anweisung zeigt, wie zwei Sammlungsspalten zu einer vorhandenen Tabelle 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 TABLE
my_Table
ADD(col_frozen_list
FROZEN<LIST<FROZEN<SET<TEXT>>>>,col_map
MAP<INT, FROZEN<SET<INT>>>);
Um den Kapazitätsmodus einer Tabelle zu ändern und Lese- und Schreibkapazitätseinheiten anzugeben, können Sie die folgende Anweisung verwenden.
ALTER TABLE
mykeyspace.mytable
WITH 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 TABLE
mykeyspace.mytable
WITH 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 TABLE
my_table
WITH default_time_to_live = 2592000;
Diese Anweisung ermöglicht benutzerdefinierte Time-to-Live-Einstellungen für eine Tabelle.
ALTER TABLE
mytable
WITH 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 oint-in-time P-Wiederherstellung für Amazon Keyspaces (für Apache Cassandra).
Syntax
restore_table_statement ::= RESTORE TABLE restored_table_name FROM TABLE source_table_name [ WITH table_options [ , ... ] ];
Wobei gilt:
-
restored_table_name
ist der Name der wiederhergestellten Tabelle. -
source_table_name
ist der Name der Quelltabelle. -
table_options
besteht aus den folgenden Teilen:-
restore_timestamp
ist die Uhrzeit des Wiederherstellungspunkts im Format ISO 8601. Wenn er nicht angegeben ist, wird der aktuelle Zeitstempel verwendet. -
CUSTOM_PROPERTIES
— Eine Karte mit Einstellungen, die für Amazon Keyspaces spezifisch sind.-
capacity_mode
: Gibt den Lese-/Schreibdurchsatzkapazitätsmodus für die Tabelle an. Die Optionen sindthroughput_mode:PAY_PER_REQUEST
undthroughput_mode:PROVISIONED
. Der bereitgestellte Kapazitätsmodus erfordertread_capacity_units
undwrite_capacity_units
als 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_KEY
undencryption_type:CUSTOMER_MANAGED_KMS_KEY
. Die vom Kunden verwaltete Verschlüsselungsoption erfordert den AWS KMS Schlüssel im Format Amazon Resource Name (ARN) als Eingabe:kms_key_identifier:ARN
. Um eine mit einem vom Kunden verwalteten 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 point-in-time die Wiederherstellung für die Tabelle aktiviert oder deaktiviert ist. Die Optionen sindstatus:enabled
undstatus:disabled
. Anders als beim Erstellen neuer Tabellen ist der Standardstatus für wiederhergestellte Tabellen daraufstatus:enabled
zurückzuführen, dass die Einstellung von der Quelltabelle übernommen wird. Um PITR für wiederhergestellte Tabellen zu deaktivieren, müssen Siestatus:disabled
dies explizit festlegen. replica_updates
: Gibt die AWS-Region spezifischen Einstellungen einer Tabelle mit mehreren Regionen an. Bei einer Tabelle mit mehreren Regionen können Sie die Lesekapazität der Tabelle je nach Region 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_SETTINGS
beinhaltet die optionalen Auto Scaling-Einstellungen für bereitgestellte Tabellen. Eine ausführliche Syntax und Beschreibungen finden Sie unterCREATE TABLE.-
TAGS
ist 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öschvorgangs 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 gilt:
-
IF EXISTS
DROP TABLE
verhindert, dass ein Fehler auftritt, wenn die Tabelle nicht existiert. (Optional) -
table_name
ist der Name der Tabelle, die gelöscht werden soll.
Beispiel
DROP TABLE "myGSGKeyspace".employees_tbl;