Istruzioni DDL (linguaggio di definizione dei dati) in Amazon Keyspaces - Amazon Keyspaces (per Apache Cassandra)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Istruzioni DDL (linguaggio di definizione dei dati) in Amazon Keyspaces

Il linguaggio di definizione dei dati (DDL) è l'insieme di istruzioni Cassandra Query Language (CQL) che usi per gestire le strutture di dati in Amazon Keyspaces (per Apache Cassandra), come keyspace e tabelle. Utilizzi DDL per creare queste strutture di dati, modificarle dopo la creazione e rimuoverle quando non sono più in uso. Amazon Keyspaces esegue operazioni DDL in modo asincrono. Per ulteriori informazioni su come confermare il completamento di un'operazione asincrona, consulta. Creazione ed eliminazione asincrone di spazi chiave e tabelle

Sono supportate le seguenti istruzioni DDL:

Keyspaces

Un keyspace raggruppa tabelle correlate rilevanti per una o più applicazioni. In termini di sistema di gestione di database relazionali (RDBMS), gli spazi chiave sono più o meno simili a database, tablespace o costrutti simili.

Nota

In Apache Cassandra, i keyspace determinano il modo in cui i dati vengono replicati tra più nodi di storage. Tuttavia, Amazon Keyspaces è un servizio completamente gestito: i dettagli del relativo livello di storage vengono gestiti per tuo conto. Per questo motivo, gli spazi chiave in Amazon Keyspaces sono solo costrutti logici e non sono correlati allo storage fisico sottostante.

Per informazioni sui limiti e i vincoli di quota per gli spazi chiave di Amazon Keyspaces, consulta. Quote per Amazon Keyspaces (per Apache Cassandra)

CREA KEYSPACE

Usa l'CREATE KEYSPACEistruzione per creare un nuovo keyspace.

Sintassi

create_keyspace_statement ::= CREATE KEYSPACE [ IF NOT EXISTS ] keyspace_name WITH options

Dove:

  • keyspace_nameè il nome dello spazio chiave da creare.

  • le opzioni sono una o più delle seguenti:

    • REPLICATION— Una mappa che indica la strategia di replica per il keyspace:

      • SingleRegionStrategy— Per uno spazio chiave a regione singola. (Obbligatorio)

      • NetworkTopologyStrategy— Specificarne almeno due e fino a sei. Regioni AWS Il fattore di replica per ogni regione è tre. (Facoltativo)

    • DURABLE_WRITES— Le scritture su Amazon Keyspaces sono sempre durevoli, quindi questa opzione non è richiesta. Tuttavia, se specificato, il valore deve esseretrue.

    • TAGS— Un elenco di tag di coppia chiave-valore da allegare alla risorsa al momento della creazione. (Facoltativo)

Esempio

Create uno spazio chiave come segue.

CREATE KEYSPACE my_keyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'} and TAGS ={'key1':'val1', 'key2':'val2'} ;

Per creare uno spazio chiave multiregionale, specificane NetworkTopologyStrategy e includi almeno due e fino a sei. Regioni AWS Il fattore di replica per ogni regione è tre.

CREATE KEYSPACE my_keyspace WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3'};

ALTERA LO SPAZIO DEI TASTI

Usa il ALTER KEYSPACE per aggiungere o rimuovere tag da un keyspace.

Sintassi

alter_keyspace_statement ::= ALTER KEYSPACE keyspace_name [[ADD | DROP] TAGS

Dove:

  • keyspace_nameè il nome dello spazio chiave da modificare.

  • TAGS— Un elenco di tag di coppia chiave-valore da aggiungere o rimuovere dallo spazio delle chiavi.

Esempio

Modificate uno spazio chiave come segue.

ALTER KEYSPACE "myGSGKeyspace" ADD TAGS {'key1':'val1', 'key2':'val2'};

RILASCIA LO SPAZIO DEI TASTI

Utilizzate l'DROP KEYSPACEistruzione per rimuovere uno spazio chiave, inclusi tutti i suoi contenuti, ad esempio le tabelle.

Sintassi

drop_keyspace_statement ::= DROP KEYSPACE [ IF EXISTS ] keyspace_name

Dove:

  • keyspace_name è il nome dello spazio chiave da eliminare.

Esempio

DROP KEYSPACE "myGSGKeyspace";

Tabelle

Le tabelle sono le strutture di dati principali in Amazon Keyspaces. I dati in una tabella sono organizzati in righe e colonne. Un sottoinsieme di queste colonne viene utilizzato per determinare il partizionamento (e in ultima analisi il posizionamento dei dati) mediante la specificazione di una chiave di partizione.

Un altro set di colonne può essere definito in colonne di clustering, il che significa che possono partecipare come predicati all'esecuzione delle query.

Per impostazione predefinita, vengono create nuove tabelle con capacità di throughput su richiesta. È possibile modificare la modalità di capacità per tabelle nuove ed esistenti. Per ulteriori informazioni sulle modalità di throughput della capacità di lettura/scrittura, vedere. Modalità di capacità di lettura/scrittura in Amazon Keyspaces

Per le tabelle in modalità provisioning, è possibile configurare opzioni opzionali. AUTOSCALING_SETTINGS Per ulteriori informazioni sulla scalabilità automatica di Amazon Keyspaces e sulle opzioni disponibili, consulta. Gestione della scalabilità automatica di Amazon Keyspaces con Cassandra Query Language (CQL)

Per informazioni sui limiti e i vincoli di quota per le tabelle Amazon Keyspaces, consulta. Quote per Amazon Keyspaces (per Apache Cassandra)

CREATE TABLE

Utilizzate l'CREATE TABLEistruzione per creare una nuova tabella.

Sintassi

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) )*

Dove:

  • table_nameè il nome della tabella da creare.

  • column_definitionè composto da quanto segue:

    • column_name— Il nome della colonna.

    • cql_type— Un tipo di dati Amazon Keyspaces (vediTipi di dati).

    • FROZEN— Indica questa colonna di tipo collection (ad esempio, LISTSET, oMAP) come congelata. Una raccolta congelata viene serializzata in un unico valore immutabile e trattata come una. BLOB Per ulteriori informazioni, consulta Tipi di raccolta.

    • STATIC— Indica questa colonna come statica. Le colonne statiche memorizzano i valori condivisi da tutte le righe della stessa partizione.

    • PRIMARY KEY— Indica questa colonna come chiave primaria della tabella.

  • primary_keyè composto da quanto segue:

    • partition_key

    • clustering_columns

  • partition_key:

    • La chiave di partizione può essere una singola colonna oppure può essere un valore composto da due o più colonne. La parte relativa alla chiave di partizione della chiave primaria è obbligatoria e determina in che modo Amazon Keyspaces archivia i dati.

  • clustering_columns:

    • La parte opzionale della colonna di clustering della chiave primaria determina il modo in cui i dati vengono raggruppati e ordinati all'interno di ciascuna partizione.

  • table_optionssono costituite da quanto segue:

    • CLUSTERING ORDER BY— Il CLUSTERING ORDER predefinito su una tabella è composto dalle chiavi di raggruppamento nella direzione di ordinamento ASC (crescente). Specificalo per ignorare il comportamento di ordinamento predefinito.

    • CUSTOM_PROPERTIES— Una mappa di impostazioni specifiche di Amazon Keyspaces.

      • capacity_mode: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono throughput_mode:PAY_PER_REQUEST e throughput_mode:PROVISIONED. La modalità di capacità fornita richiede e come input. read_capacity_units write_capacity_units Il valore predefinito è throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: specifica se i timestamp lato client sono abilitati o disabilitati per la tabella. Le opzioni sono {'status': 'enabled'} e {'status': 'disabled'}. Se non è specificato, l'impostazione predefinita è. status:disabled Dopo aver abilitato i timestamp lato client per una tabella, questa impostazione non può essere disabilitata.

      • encryption_specification: specifica le opzioni di crittografia per la crittografia a riposo. Se non è specificato, l'impostazione predefinita èencryption_type:AWS_OWNED_KMS_KEY. L'opzione di crittografia gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input::kms_key_identifier:ARN. kms_key_identifier:ARN

      • point_in_time_recovery: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono status:enabled e status:disabled. Se non è specificato, l'impostazione predefinita èstatus:disabled.

      • replica_updates: specifica le impostazioni di una tabella multiarea specifiche di un. Regione AWS Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta Creazione di una tabella multiregionale con modalità di capacità assegnata e scalabilità automatica (CQL).

        • region— La replica Regione AWS della tabella con le seguenti impostazioni:

          • read_capacity_units

      • TTL: abilita le impostazioni personalizzate Time to Live per la tabella. Per abilitare, usastatus:enabled. Il valore predefinito è status:disabled. Dopo averlo TTL abilitato, non puoi disabilitarlo per la tabella.

    • AUTOSCALING_SETTINGSinclude le seguenti impostazioni opzionali per le tabelle in modalità provisioning. Per maggiori informazioni ed esempi, consulta Crea una nuova tabella con ridimensionamento automatico utilizzando CQL.

      • provisioned_write_capacity_autoscaling_update:

        • autoscaling_disabled— Per abilitare la scalabilità automatica per la capacità di scrittura, impostare il valore su. false Il valore predefinito è true. (Facoltativo)

        • minimum_units— Il livello minimo di velocità di scrittura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

        • maximum_units— Il livello massimo di velocità di scrittura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

        • scaling_policy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo di auto scaling è la capacità di scrittura assegnata alla tabella.

          • target_tracking_scaling_policy_configuration— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

            • target_value— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. target_value viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)

            • scale_in_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

            • scale_out_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

            • disable_scale_in: A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità viene automaticamente ridotta per una tabella per conto dell'utente. (Facoltativo)

      • provisioned_read_capacity_autoscaling_update:

        • autoscaling_disabled— Per abilitare la scalabilità automatica per la capacità di lettura, impostare il valore su. false Il valore predefinito è true. (Facoltativo)

        • minimum_units— Il livello minimo di velocità effettiva che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

        • maximum_units— Il livello massimo di velocità effettiva che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

        • scaling_policy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo della scalabilità automatica è la capacità di lettura assegnata alla tabella.

          • target_tracking_scaling_policy_configuration— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

            • target_value— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. target_value viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)

            • scale_in_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

            • scale_out_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

            • disable_scale_in: A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità viene automaticamente ridotta per una tabella per conto dell'utente. (Facoltativo)

      • replica_updates: specifica le impostazioni di ridimensionamento automatico Regione AWS specifiche di una tabella multiregione. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta Creazione di una tabella multiregionale con modalità di capacità assegnata e scalabilità automatica (CQL).

        • region— La replica Regione AWS della tabella con le seguenti impostazioni:

          • provisioned_read_capacity_autoscaling_update

            • autoscaling_disabled— Per abilitare il ridimensionamento automatico della capacità di lettura della tabella, impostare il valore su. false Il valore predefinito è true. (Facoltativo)

              Nota

              Il ridimensionamento automatico per una tabella con più regioni deve essere abilitato o disabilitato per tutte le repliche della tabella.

            • minimum_units— Il livello minimo di velocità di lettura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

            • maximum_units— Il livello massimo di velocità di lettura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).

            • scaling_policy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo della scalabilità automatica è la capacità di lettura assegnata alla tabella.

              • target_tracking_scaling_policy_configuration— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

                • target_value— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra la capacità di lettura consumata e la capacità di lettura assegnata rimanga pari o vicino a questo valore. target_value viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)

                • scale_in_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

                • scale_out_cooldown— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)

                • disable_scale_in: A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità di lettura viene automaticamente ridotta per una tabella per conto dell'utente. (Facoltativo)

    • default_time_to_live— L'impostazione predefinita del Time to Live in secondi per il tavolo.

    • TAGS— Un elenco di tag di coppia chiave-valore da allegare alla risorsa al momento della creazione.

  • clustering_orderè composto da quanto segue:

    • column_name— Il nome della colonna.

    • ASC | DESC— Imposta il modificatore di ordine ascendente (ASC) o discendente (DESC). Se non è specificato, l'ordine predefinito è ASC.

Esempio

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 una tabella che utilizza colonne di clustering, le colonne non raggruppate possono essere dichiarate statiche nella definizione della tabella. Per ulteriori informazioni sulle colonne statiche, vedere. Colonne statiche in Amazon Keyspaces

Esempio

CREATE TABLE "my_keyspace".my_table ( id int, name text, region text, division text, project text STATIC, PRIMARY KEY (id,division));

ALTER TABLE

Utilizzate l'ALTER TABLEistruzione per aggiungere nuove colonne, aggiungere tag o modificare le proprietà personalizzate della tabella.

Sintassi

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

Dove:

  • table_nameè il nome della tabella da modificare.

  • column_definitionè il nome della colonna e del tipo di dati da aggiungere.

  • column_definition_listè un elenco di colonne separate da virgole inserite tra parentesi.

  • table_optionssono costituiti da quanto segue:

    • CUSTOM_PROPERTIES— Una mappa di impostazioni specifiche per Amazon Keyspaces.

      • capacity_mode: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono throughput_mode:PAY_PER_REQUEST e throughput_mode:PROVISIONED. La modalità di capacità fornita richiede e come input. read_capacity_units write_capacity_units Il valore predefinito è throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: specifica se i timestamp lato client sono abilitati o disabilitati per la tabella. Le opzioni sono {'status': 'enabled'} e {'status': 'disabled'}. Se non è specificato, l'impostazione predefinita è. status:disabled Dopo aver abilitato i timestamp lato client per una tabella, questa impostazione non può essere disabilitata.

      • encryption_specification: specifica l'opzione di crittografia per la crittografia a riposo. Le opzioni sono encryption_type:AWS_OWNED_KMS_KEY e encryption_type:CUSTOMER_MANAGED_KMS_KEY. L'opzione di crittografia la chiave gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input:. kms_key_identifier:ARN

      • point_in_time_recovery: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono status:enabled e status:disabled. Il valore predefinito è status:disabled.

      • replica_updates: specifica le impostazioni Regione AWS specifiche di una tabella con più regioni. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta Aggiornamento della capacità fornita e delle impostazioni di ridimensionamento automatico di una tabella multiregionale (CQL).

        • region— La replica Regione AWS della tabella con le seguenti impostazioni:

          • read_capacity_units

      • ttl: abilita le impostazioni personalizzate Time to Live per la tabella. Per abilitare, usastatus:enabled. Il valore predefinito è status:disabled. Dopo averlo ttl abilitato, non puoi disabilitarlo per la tabella.

    • AUTOSCALING_SETTINGSinclude le impostazioni di ridimensionamento automatico opzionali per le tabelle predisposte. Per la sintassi e le descrizioni dettagliate, vedere. CREATE TABLE Per alcuni esempi, consulta Abilita il ridimensionamento automatico su una tabella esistente utilizzando CQL.

  • default_time_to_live: L'impostazione predefinita Time to Live in secondi per la tabella.

  • TAGSè un elenco di tag di coppia chiave-valore da allegare alla risorsa.

Nota

Con ALTER TABLE, puoi modificare solo una singola proprietà personalizzata. Non è possibile combinare più di un comando ALTER TABLE nella stessa istruzione.

Examples (Esempi)

L'istruzione seguente mostra come aggiungere una colonna a una tabella esistente.

ALTER TABLE mykeyspace.mytable ADD (ID int);

Questa istruzione mostra come aggiungere due colonne di raccolta a una tabella esistente:

  • Una colonna di raccolta congelata col_frozen_list che contiene una raccolta congelata annidata

  • Una colonna di raccolta non congelata col_map che contiene una raccolta congelata annidata

ALTER TABLE my_Table ADD(col_frozen_list FROZEN<LIST<FROZEN<SET<TEXT>>>>, col_map MAP<INT, FROZEN<SET<INT>>>);

Per modificare la modalità di capacità di una tabella e specificare le unità di capacità di lettura e scrittura, è possibile utilizzare la seguente istruzione.

ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}};

L'istruzione seguente specifica una chiave KMS gestita dal cliente per la tabella.

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' } };

Per abilitare point-in-time il ripristino di una tabella, è possibile utilizzare la seguente istruzione.

ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'point_in_time_recovery': {'status': 'enabled'}};

Per impostare un valore Time to Live predefinito in secondi per una tabella, è possibile utilizzare la seguente istruzione.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

Questa istruzione abilita le impostazioni Time to Live personalizzate per una tabella.

ALTER TABLE mytable WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

RIPRISTINARE LA TABELLA

Usa l'RESTORE TABLEistruzione per ripristinare una tabella in un determinato momento. Questa istruzione richiede che point-in-time il ripristino sia abilitato su una tabella. Per ulteriori informazioni, consulta oint-in-time Ripristino del IP per Amazon Keyspaces (per Apache Cassandra).

Sintassi

restore_table_statement ::= RESTORE TABLE restored_table_name FROM TABLE source_table_name [ WITH table_options [ , ... ] ];

Dove:

  • restored_table_nameè il nome della tabella ripristinata.

  • source_table_nameè il nome della tabella di origine.

  • table_optionsè composto da quanto segue:

    • restore_timestampè l'ora del punto di ripristino in formato ISO 8601. Se non è specificato, viene utilizzato il timestamp corrente.

    • CUSTOM_PROPERTIES— Una mappa di impostazioni specifiche per Amazon Keyspaces.

      • capacity_mode: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono throughput_mode:PAY_PER_REQUEST e throughput_mode:PROVISIONED. La modalità di capacità fornita richiede e come input. read_capacity_units write_capacity_units L'impostazione predefinita è l'impostazione corrente della tabella di origine.

      • encryption_specification: specifica l'opzione di crittografia per la crittografia a riposo. Le opzioni sono encryption_type:AWS_OWNED_KMS_KEY e encryption_type:CUSTOMER_MANAGED_KMS_KEY. L'opzione di crittografia la chiave gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input:. kms_key_identifier:ARN Per ripristinare una tabella crittografata con una chiave gestita dal cliente su una tabella crittografata con un Chiave di proprietà di AWS, Amazon Keyspaces richiede l'accesso alla AWS KMS chiave della tabella di origine.

      • point_in_time_recovery: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono status:enabled e status:disabled. A differenza di quando si creano nuove tabelle, lo stato predefinito per le tabelle ripristinate è status:enabled dovuto al fatto che l'impostazione viene ereditata dalla tabella di origine. Per disabilitare PITR per le tabelle ripristinate, è necessario status:disabled impostarlo in modo esplicito.

      • replica_updates: specifica le impostazioni Regione AWS specifiche di una tabella multiregionale. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri.

        • region— La replica Regione AWS della tabella con le seguenti impostazioni:

          • read_capacity_units

    • AUTOSCALING_SETTINGSinclude le impostazioni di ridimensionamento automatico opzionali per le tabelle predisposte. Per una sintassi e una descrizione dettagliate, vedere. CREATE TABLE

    • TAGSè un elenco di tag di coppia chiave-valore da allegare alla risorsa.

Nota

Le tabelle eliminate possono essere ripristinate solo al momento dell'eliminazione.

Esempio

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

Utilizzate l'DROP TABLEistruzione per rimuovere una tabella dallo spazio delle chiavi.

Sintassi

drop_table_statement ::= DROP TABLE [ IF EXISTS ] table_name

Dove:

  • IF EXISTSDROP TABLEimpedisce di fallire se la tabella non esiste. (Facoltativo)

  • table_nameè il nome della tabella da eliminare.

Esempio

DROP TABLE "myGSGKeyspace".employees_tbl;