Instructions DDL (langage de définition des données) dans Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Instructions DDL (langage de définition des données) dans Amazon Keyspaces

Le langage de définition des données (DDL) est l'ensemble des instructions Cassandra Query Language (CQL) que vous utilisez pour gérer les structures de données dans Amazon Keyspaces (pour Apache Cassandra), telles que les espaces de touches et les tables. Vous utilisez DDL pour créer ces structures de données, les modifier après leur création et les supprimer lorsqu'elles ne sont plus utilisées. Amazon Keyspaces exécute des opérations DDL de manière asynchrone. Pour plus d'informations sur la façon de confirmer qu'une opération asynchrone est terminée, consultez. Création et suppression asynchrones d'espaces clés et de tables

Les instructions DDL suivantes sont prises en charge :

Keyspaces

Un keyspace regroupe les tables associées qui sont pertinentes pour une ou plusieurs applications. En termes de système de gestion de base de données relationnelle (SGBDR), les keyspaces sont à peu près similaires aux bases de données, tablespaces ou constructions similaires.

Note

Dans Apache Cassandra, les keyspaces déterminent la réplique des données entre plusieurs nœuds de stockage. Cependant, Amazon Keyspaces est un service entièrement géré : les détails de sa couche de stockage sont gérés en votre nom. Pour cette raison, les espaces clés d'Amazon Keyspaces sont uniquement des constructions logiques et ne sont pas liés au stockage physique sous-jacent.

Pour plus d'informations sur les limites de quota et les contraintes pour les espaces de clés Amazon Keyspaces, consultez. Quotas pour Amazon Keyspaces (pour Apache Cassandra)

Déclarations pour les espaces clés

CREATE KEYSPACE

Utilisez l'instruction CREATE KEYSPACE pour créer un nouveau keyspace.

Syntaxe

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

Où :

  • keyspace_name est le nom du keyspace à créer.

  • Les options peuvent être les suivantes :

    • REPLICATION— Une carte qui indique la stratégie de réplication pour le keyspace :

      • SingleRegionStrategy— Pour un keyspace à région unique. (Obligatoire)

      • NetworkTopologyStrategy— Spécifiez au moins deux et jusqu'à six Régions AWS. Le facteur de réplication pour chaque région est de trois. (Facultatif)

    • DURABLE_WRITES— Les écritures sur Amazon Keyspaces sont toujours durables, cette option n'est donc pas requise. Toutefois, si elle est spécifiée, la valeur doit être true.

    • TAGS— Une liste de balises de paires clé-valeur à associer à la ressource lorsque vous la créez. (Facultatif)

Exemple

Créez un keyspace comme suit.

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

Pour créer un espace de touches multirégional, spécifiez NetworkTopologyStrategy et incluez au moins deux et jusqu'à six. Régions AWS Le facteur de réplication pour chaque région est de trois.

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

ALTER KEYSPACE

Utilisez ALTER KEYSPACE pour ajouter ou supprimer les balises d'un keyspace.

Syntaxe

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

Où :

  • keyspace_name est le nom du keyspace à modifier.

  • TAGS— Une liste de balises de paires clé-valeur à ajouter ou à supprimer de l'espace clé.

Exemple

Modifiez un keyspace comme suit.

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

DROP KEYSPACE

Utilisez l'DROP KEYSPACEinstruction pour supprimer un espace de touches, y compris l'ensemble de son contenu, tel que les tableaux.

Syntaxe

drop_keyspace_statement ::= DROP KEYSPACE [ IF EXISTS ] keyspace_name

Où :

  • keyspace_name est le nom du keyspace à supprimer.

Exemple

DROP KEYSPACE "myGSGKeyspace";

Tables

Les tables sont les principales structures de données d'Amazon Keyspaces. Les données d'une table sont organisées en lignes et en colonnes. Un sous-ensemble de ces colonnes est utilisé pour déterminer le partitionnement (et finalement le placement des données) via la spécification d'une clé de partition.

Un autre ensemble de colonnes peut être défini en colonnes de clustering, ce qui signifie qu'elles peuvent participer en tant que prédicats à l'exécution de la requête.

Par défaut, de nouvelles tables sont créées avec une capacité de débit à la demande. Vous pouvez modifier le mode de capacité pour les tables nouvelles et existantes. Pour de plus amples informations sur les modes de débit de capacité de lecture/écriture, reportez-vous à la section Modes de capacité de lecture/écriture dans Amazon Keyspaces.

Pour les tables en mode provisionné, vous pouvez configurer en optionAUTOSCALING_SETTINGS. Pour plus d'informations sur le dimensionnement automatique d'Amazon Keyspaces et les options disponibles, consultez. Gestion du dimensionnement automatique d'Amazon Keyspaces avec Cassandra Query Language (CQL)

Pour plus d'informations sur les limites de quota et les contraintes pour les tables Amazon Keyspaces, consultez. Quotas pour Amazon Keyspaces (pour Apache Cassandra)

CREATE TABLE

Utilisez l'instruction CREATE TABLE pour créer une nouvelle table.

Syntaxe

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

Où :

  • table_name est le nom de la table à créer.

  • column_definition comprend les éléments suivants :

    • column_name— Le nom de la colonne.

    • cql_type— Un type de données Amazon Keyspaces (voirTypes de données).

    • FROZEN— Désigne cette colonne de type collection (par exemple, LISTSET, ouMAP) comme figée. Une collection figée est sérialisée en une seule valeur immuable et traitée comme une. BLOB Pour plus d’informations, consultez Types de collections.

    • STATIC— Désigne cette colonne comme statique. Les colonnes statiques stockent les valeurs partagées par toutes les lignes d'une même partition.

    • PRIMARY KEY— Désigne cette colonne comme clé primaire de la table.

  • primary_key comprend les éléments suivants :

    • partition_key

    • clustering_columns

  • partition_key:

    • La clé de partition peut être une seule colonne ; il peut aussi s'agir d'une valeur composée de deux colonnes ou plus. La partie clé de partition de la clé primaire est obligatoire et détermine la manière dont Amazon Keyspaces stocke vos données.

  • clustering_columns:

    • La partie facultative de la colonne de clustering de votre clé primaire détermine la façon dont les données sont regroupées et triées dans chaque partition.

  • table_optionsse composent des éléments suivants :

    • CLUSTERING ORDER BY— L'ORDRE DE CLUSTERING par défaut sur une table est composé de vos clés de clustering dans le sens de ASC tri (croissant). Spécifiez-le pour remplacer le comportement de tri par défaut.

    • CUSTOM_PROPERTIES— Une carte des paramètres spécifiques à Amazon Keyspaces.

      • capacity_mode: spécifie le mode de capacité de débit en lecture/écriture pour la table. Les options sont throughput_mode:PAY_PER_REQUEST et throughput_mode:PROVISIONED. Le mode de capacité allouée nécessite read_capacity_units et write_capacity_units en tant qu'entrées. L’argument par défaut est throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: Spécifie si les horodatages côté client sont activés ou désactivés pour la table. Les options sont {'status': 'enabled'} et {'status': 'disabled'}. S'il n'est pas spécifié, la valeur par défaut eststatus:disabled. Une fois les horodatages côté client activés pour une table, ce paramètre ne peut pas être désactivé.

      • encryption_specification: Spécifie les options de chiffrement pour le chiffrement au repos. S'il n'est pas spécifié, la valeur par défaut estencryption_type:AWS_OWNED_KMS_KEY. L'option de chiffrement (clé gérée par le client) nécessite la AWS KMS clé au format Amazon Resource Name (ARN) comme entrée : kms_key_identifier:ARN :kms_key_identifier:ARN.

      • point_in_time_recovery: Spécifie si point-in-time la restauration est activée ou désactivée pour la table. Les options sont status:enabled et status:disabled. S'il n'est pas spécifié, la valeur par défaut eststatus:disabled.

      • replica_updates: Spécifie les paramètres d'une table multirégionale spécifiques à un Région AWS. Pour une table multirégionale, vous pouvez configurer la capacité de lecture de la table différemment selon Région AWS les régions. Vous pouvez le faire en configurant les paramètres suivants. Pour plus d’informations et d’exemples, consultez Création d'une table multirégionale avec mode capacité provisionnée et mise à l'échelle automatique (CQL).

        • region— La réplique Région AWS de la table avec les paramètres suivants :

          • read_capacity_units

      • TTL: active les paramètres personnalisés Time to Live pour le tableau. Pour l'activer, utilisezstatus:enabled. L’argument par défaut est status:disabled. Une fois TTL activé, vous ne pouvez pas le désactiver pour le tableau.

    • AUTOSCALING_SETTINGSinclut les paramètres facultatifs suivants pour les tables en mode provisionné. Pour plus d’informations et d’exemples, consultez Création d'une nouvelle table avec mise à l'échelle automatique à l'aide de CQL.

      • provisioned_write_capacity_autoscaling_update:

        • autoscaling_disabled— Pour activer la mise à l'échelle automatique en fonction de la capacité d'écriture, définissez la valeur surfalse. L’argument par défaut est true. (Facultatif)

        • minimum_units— Le niveau minimum de débit d'écriture que la table doit toujours être prête à prendre en charge. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

        • maximum_units— Le niveau maximal de débit d'écriture que la table doit toujours être prête à prendre en charge. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

        • scaling_policy— Amazon Keyspaces soutient la politique de suivi des cibles. L'objectif de dimensionnement automatique est la capacité d'écriture allouée à la table.

          • target_tracking_scaling_policy_configuration— Pour définir la politique de suivi de la cible, vous devez définir la valeur cible. Pour plus d'informations sur le suivi des cibles et les périodes de recharge, consultez les politiques de dimensionnement de Target Tracking dans le guide de l'utilisateur d'Application Auto Scaling.

            • target_value— Le taux d'utilisation cible de la table. Le dimensionnement automatique d'Amazon Keyspaces garantit que le rapport entre la capacité consommée et la capacité allouée reste égal ou proche de cette valeur. Vous définissez target_value en tant que pourcentage. Un double entre 20 et 90. (Obligatoire)

            • scale_in_cooldown— Un temps de recharge en secondes entre les activités de mise à l'échelle, qui permet à la table de se stabiliser avant qu'une autre activité d'échelle ne commence. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

            • scale_out_cooldown— Un temps de recharge en secondes entre les activités de redimensionnement qui permet à la table de se stabiliser avant le début d'une autre activité de redimensionnement. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

            • disable_scale_in: A boolean qui indique si la table scale-in est désactivée ou activée. Ce paramètre est désactivé par défaut. Pour l'activerscale-in, définissez la boolean valeur surFALSE. Cela signifie que la capacité est automatiquement réduite pour une table en votre nom. (Facultatif)

      • provisioned_read_capacity_autoscaling_update:

        • autoscaling_disabled— Pour activer la mise à l'échelle automatique en fonction de la capacité de lecture, définissez la valeur surfalse. L’argument par défaut est true. (Facultatif)

        • minimum_units— Le niveau de débit minimal que la table doit toujours être prête à supporter. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

        • maximum_units— Le niveau de débit maximal que la table doit toujours être prête à supporter. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

        • scaling_policy— Amazon Keyspaces soutient la politique de suivi des cibles. L'objectif de dimensionnement automatique est la capacité de lecture allouée à la table.

          • target_tracking_scaling_policy_configuration— Pour définir la politique de suivi de la cible, vous devez définir la valeur cible. Pour plus d'informations sur le suivi des cibles et les périodes de recharge, consultez les politiques de dimensionnement de Target Tracking dans le guide de l'utilisateur d'Application Auto Scaling.

            • target_value— Le taux d'utilisation cible de la table. Le dimensionnement automatique d'Amazon Keyspaces garantit que le rapport entre la capacité consommée et la capacité allouée reste égal ou proche de cette valeur. Vous définissez target_value en tant que pourcentage. Un double entre 20 et 90. (Obligatoire)

            • scale_in_cooldown— Un temps de recharge en secondes entre les activités de mise à l'échelle, qui permet à la table de se stabiliser avant qu'une autre activité d'échelle ne commence. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

            • scale_out_cooldown— Un temps de recharge en secondes entre les activités de redimensionnement qui permet à la table de se stabiliser avant le début d'une autre activité de redimensionnement. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

            • disable_scale_in: A boolean qui indique si la table scale-in est désactivée ou activée. Ce paramètre est désactivé par défaut. Pour l'activerscale-in, définissez la boolean valeur surFALSE. Cela signifie que la capacité est automatiquement réduite pour une table en votre nom. (Facultatif)

      • replica_updates: Spécifie les paramètres de mise à l'échelle automatique Région AWS spécifiques d'une table multirégionale. Pour une table multirégionale, vous pouvez configurer la capacité de lecture de la table différemment selon Région AWS les régions. Vous pouvez le faire en configurant les paramètres suivants. Pour plus d’informations et d’exemples, consultez Création d'une table multirégionale avec mode capacité provisionnée et mise à l'échelle automatique (CQL).

        • region— La réplique Région AWS de la table avec les paramètres suivants :

          • provisioned_read_capacity_autoscaling_update

            • autoscaling_disabled— Pour activer la mise à l'échelle automatique en fonction de la capacité de lecture de la table, définissez la valeur surfalse. L’argument par défaut est true. (Facultatif)

              Note

              Le dimensionnement automatique d'une table multirégionale doit être activé ou désactivé pour toutes les répliques de la table.

            • minimum_units— Le niveau minimum de débit de lecture que la table doit toujours être prête à prendre en charge. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

            • maximum_units— Le niveau maximal de débit de lecture que la table doit toujours être prête à prendre en charge. La valeur doit être comprise entre 1 et le quota de débit maximal par seconde pour votre compte (40 000 par défaut).

            • scaling_policy— Amazon Keyspaces soutient la politique de suivi des cibles. L'objectif de dimensionnement automatique est la capacité de lecture allouée à la table.

              • target_tracking_scaling_policy_configuration— Pour définir la politique de suivi de la cible, vous devez définir la valeur cible. Pour plus d'informations sur le suivi des cibles et les périodes de recharge, consultez les politiques de dimensionnement de Target Tracking dans le guide de l'utilisateur d'Application Auto Scaling.

                • target_value— Le taux d'utilisation cible de la table. Le dimensionnement automatique d'Amazon Keyspaces garantit que le rapport entre la capacité de lecture consommée et la capacité de lecture allouée reste égal ou proche de cette valeur. Vous définissez target_value en tant que pourcentage. Un double entre 20 et 90. (Obligatoire)

                • scale_in_cooldown— Un temps de recharge en secondes entre les activités de mise à l'échelle, qui permet à la table de se stabiliser avant qu'une autre activité d'échelle ne commence. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

                • scale_out_cooldown— Un temps de recharge en secondes entre les activités de redimensionnement qui permet à la table de se stabiliser avant le début d'une autre activité de redimensionnement. Si aucune valeur n'est fournie, la valeur par défaut est 0. (Facultatif)

                • disable_scale_in: A boolean qui indique si la table scale-in est désactivée ou activée. Ce paramètre est désactivé par défaut. Pour l'activerscale-in, définissez la boolean valeur surFALSE. Cela signifie que la capacité de lecture est automatiquement réduite pour une table en votre nom. (Facultatif)

    • default_time_to_live— Le paramètre Durée de vie par défaut en secondes pour le tableau.

    • TAGS— Une liste de balises de paires clé-valeur à associer à la ressource lors de sa création.

  • clustering_order comprend les éléments suivants :

    • column_name— Le nom de la colonne.

    • ASC | DESC— Définit le modificateur d'ordre ascendant (ASC) ou descendant (DESC). S'il n'est pas spécifié, l'ordre par défaut est ASC.

Exemple

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;

Dans une table qui utilise des colonnes de clustering, les colonnes non clusterisées peuvent être déclarées statiques dans la définition de la table. Pour plus d'informations sur les colonnes statiques, consultezColonnes statiques dans Amazon Keyspaces.

Exemple

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

ALTER TABLE

Utilisez l'ALTER TABLEinstruction pour ajouter de nouvelles colonnes, ajouter des balises ou modifier les propriétés personnalisées du tableau.

Syntaxe

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

Où :

  • table_name est le nom de la table à modifier.

  • column_definition est le nom de la colonne et le type de données à ajouter.

  • column_definition_list est une liste de colonnes séparées par des virgules placées entre parenthèses.

  • table_optionsse composent des éléments suivants :

    • CUSTOM_PROPERTIES— Une carte des paramètres spécifiques à Amazon Keyspaces.

      • capacity_mode: spécifie le mode de capacité de débit en lecture/écriture pour la table. Les options sont throughput_mode:PAY_PER_REQUEST et throughput_mode:PROVISIONED. Le mode de capacité allouée nécessite read_capacity_units et write_capacity_units en tant qu'entrées. L’argument par défaut est throughput_mode:PAY_PER_REQUEST.

      • client_side_timestamps: Spécifie si les horodatages côté client sont activés ou désactivés pour la table. Les options sont {'status': 'enabled'} et {'status': 'disabled'}. S'il n'est pas spécifié, la valeur par défaut eststatus:disabled. Une fois les horodatages côté client activés pour une table, ce paramètre ne peut pas être désactivé.

      • encryption_specification: Spécifie l'option de chiffrement pour le chiffrement au repos. Les options sont encryption_type:AWS_OWNED_KMS_KEY et encryption_type:CUSTOMER_MANAGED_KMS_KEY. L'option de chiffrement (clé gérée par le client) nécessite la AWS KMS clé au format Amazon Resource Name (ARN) comme entrée :kms_key_identifier:ARN.

      • point_in_time_recovery: Spécifie si point-in-time la restauration est activée ou désactivée pour la table. Les options sont status:enabled et status:disabled. L’argument par défaut est status:disabled.

      • replica_updates: Spécifie les paramètres Région AWS spécifiques d'une table multirégionale. Pour une table multirégionale, vous pouvez configurer la capacité de lecture de la table différemment selon Région AWS les régions. Vous pouvez le faire en configurant les paramètres suivants. Pour plus d’informations et d’exemples, consultez Mise à jour de la capacité allouée et des paramètres de dimensionnement automatique d'une table multirégionale (CQL).

        • region— La réplique Région AWS de la table avec les paramètres suivants :

          • read_capacity_units

      • ttl: active les paramètres personnalisés Time to Live pour le tableau. Pour l'activer, utilisezstatus:enabled. L’argument par défaut est status:disabled. Une fois ttl activé, vous ne pouvez pas le désactiver pour le tableau.

    • AUTOSCALING_SETTINGSinclut les paramètres de mise à l'échelle automatique facultatifs pour les tables provisionnées. Pour la syntaxe et les descriptions détaillées, voirCREATE TABLE. Pour obtenir des exemples, consultez Activer la mise à l'échelle automatique sur une table existante à l'aide de CQL.

  • default_time_to_live: paramètre de durée de vie par défaut en secondes pour le tableau.

  • TAGS est une liste de balises de paire clé-valeur à attacher à la ressource.

Note

Avec ALTER TABLE, vous ne pouvez modifier qu'une seule propriété personnalisée. Vous ne pouvez pas combiner plusieurs commandes ALTER TABLE dans la même instruction.

Exemples

L'instruction suivante indique comment ajouter une colonne à une table existante.

ALTER TABLE mykeyspace.mytable ADD (ID int);

Cette instruction indique comment ajouter deux colonnes de collection à une table existante :

  • Colonne de collection figée col_frozen_list contenant une collection figée imbriquée

  • Colonne de collection non figée col_map contenant une collection figée imbriquée

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

Pour modifier le mode de capacité d'une table et spécifier les unités de capacité de lecture et d'écriture, vous pouvez utiliser l'instruction suivante.

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

L'instruction suivante indique une clé KMS gérée par le client pour la table.

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

Pour activer point-in-time la restauration d'une table, vous pouvez utiliser l'instruction suivante.

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

Pour définir une valeur Time to Live par défaut en secondes pour une table, vous pouvez utiliser l'instruction suivante.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

Cette instruction active les paramètres Time to Live personnalisés pour une table.

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

RESTAURER LA TABLE

Utilisez l'RESTORE TABLEinstruction pour rétablir une table à un point précis dans le temps. Cette instruction nécessite que la point-in-time restauration soit activée sur une table. Pour plus d’informations, consultez oint-in-time Restauration de fichiers dans le passé pour Amazon Keyspaces (pour Apache Cassandra).

Syntaxe

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

Où :

  • restored_table_nameest le nom de la table restaurée.

  • source_table_nameest le nom de la table source.

  • table_options comprend les éléments suivants :

    • restore_timestampest l'heure du point de restauration au format ISO 8601. S'il n'est pas spécifié, l'horodatage actuel est utilisé.

    • CUSTOM_PROPERTIES— Une carte des paramètres spécifiques à Amazon Keyspaces.

      • capacity_mode: spécifie le mode de capacité de débit en lecture/écriture pour la table. Les options sont throughput_mode:PAY_PER_REQUEST et throughput_mode:PROVISIONED. Le mode de capacité allouée nécessite read_capacity_units et write_capacity_units en tant qu'entrées. La valeur par défaut est le paramètre actuel de la table source.

      • encryption_specification: Spécifie l'option de chiffrement pour le chiffrement au repos. Les options sont encryption_type:AWS_OWNED_KMS_KEY et encryption_type:CUSTOMER_MANAGED_KMS_KEY. L'option de chiffrement (clé gérée par le client) nécessite la AWS KMS clé au format Amazon Resource Name (ARN) comme entrée :kms_key_identifier:ARN. Pour restaurer une table chiffrée avec une clé gérée par le client vers une table chiffrée avec un Clé détenue par AWS, Amazon Keyspaces a besoin d'accéder à la AWS KMS clé de la table source.

      • point_in_time_recovery: Spécifie si point-in-time la restauration est activée ou désactivée pour la table. Les options sont status:enabled et status:disabled. Contrairement à ce qui se passe lorsque vous créez de nouvelles tables, le statut par défaut des tables restaurées est status:enabled dû au fait que le paramètre est hérité de la table source. Pour désactiver le PITR pour les tables restaurées, vous devez définir status:disabled explicitement.

      • replica_updates: Spécifie les paramètres Région AWS spécifiques d'une table multirégionale. Pour une table multirégionale, vous pouvez configurer la capacité de lecture de la table différemment selon Région AWS les régions. Vous pouvez le faire en configurant les paramètres suivants.

        • region— La réplique Région AWS de la table avec les paramètres suivants :

          • read_capacity_units

    • AUTOSCALING_SETTINGSinclut les paramètres de mise à l'échelle automatique facultatifs pour les tables provisionnées. Pour une syntaxe et des descriptions détaillées, voirCREATE TABLE.

    • TAGS est une liste de balises de paire clé-valeur à attacher à la ressource.

Note

Les tables supprimées ne peuvent être restaurées qu'au moment de leur suppression.

Exemple

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

Utilisez l'instruction DROP TABLE pour supprimer une table du keyspace.

Syntaxe

drop_table_statement ::= DROP TABLE [ IF EXISTS ] table_name

Où :

  • IF EXISTS empêche DROP TABLE d'échouer si la table n'existe pas. (Facultatif)

  • table_name est le nom de la table à supprimer.

Exemple

DROP TABLE "myGSGKeyspace".employees_tbl;