

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.

# Création d'un tableau dans Amazon Keyspaces
<a name="getting-started.tables"></a>

Dans cette section, vous allez créer un tableau à l'aide de la console`cqlsh`, ou du AWS CLI.

Une table est l'endroit où vos données sont organisées et stockées. La clé primaire de votre table détermine la façon dont les données sont partitionnées dans votre table. La clé primaire est composée d'une clé de partition requise et d'une ou de plusieurs colonnes de clustering facultatives. Les valeurs combinées qui composent la clé primaire doivent être uniques pour toutes les données de la table. Pour de plus amples informations sur les balises, veuillez consulter les rubriques suivantes :
+ Conception de la clé de partition : [Comment utiliser efficacement les clés de partition dans Amazon Keyspaces](bp-partition-key-design.md)
+ Utilisation de tableaux : [Vérifier l'état de création d'une table dans Amazon Keyspaces](tables-create.md)
+ Les instructions DDL dans le langage CQL font référence : [Tables](cql.ddl.table.md)
+ Gestion des ressources des tables : [Gestion des ressources sans serveur dans Amazon Keyspaces (pour Apache Cassandra)](serverless_resource_management.md)
+ Utilisation des ressources de la table de surveillance : [Surveillance d'Amazon Keyspaces avec Amazon CloudWatch](monitoring-cloudwatch.md)
+ [Quotas pour Amazon Keyspaces (pour Apache Cassandra)](quotas.md)

Lorsque vous créez une table, vous spécifiez les éléments suivants :
+ Nom de la table.
+ Nom et type de données de chaque colonne de la table.
+ Clé primaire de la table.
  + **Clé de partition ** — Obligatoire
  + **Colonnes de clustering ** — Facultatif

Suivez la procédure suivante pour créer une table contenant les colonnes, les types de données, les clés de partition et les colonnes de clustering spécifiés.

## Utilisation de la console
<a name="getting-started.tables.con"></a>

La procédure suivante crée la table `book_awards` avec ces colonnes et types de données.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Pour créer une table à l'aide de la console**

1. Connectez-vous au Console de gestion AWS, puis ouvrez la console Amazon Keyspaces à [ https://console.aws.amazon.com/keyspaces/home ](https://console.aws.amazon.com/keyspaces/home) l'adresse.

1. Dans le panneau de navigation, choisissez **Keyspaces**.

1. Choisissez `catalog` comme keyspace dans lequel vous souhaitez créer la table.

1. Choisissez **Créer un tableau**.

1. Dans la zone **Nom de la table** entrez **book\_awards** comme nom pour votre table.

   **Contraintes liées au nom : **
   + Le nom ne peut pas être vide.
   + Caractères autorisés : caractères alphanumériques et soulignement ( `_` ).
   + La longueur maximale est de 48 caractères.

1. Dans la section **Colonnes** répétez les étapes suivantes pour chaque colonne à ajouter à cette table.

   Ajoutez les colonnes et types de données suivants.

   ```
   year           int
   award          text
   rank           int 
   category       text
   book_title     text
   author         text
   publisher      text
   ```

   1. **Nom ** — Entrez un nom pour la colonne.

      **Contraintes liées au nom : **
      + Le nom ne peut pas être vide.
      + Caractères autorisés : caractères alphanumériques et soulignement ( `_` ).
      + La longueur maximale est de 48 caractères.

   1. **Type ** : dans la liste des types de données, choisissez le type de données pour cette colonne.

   1. Pour ajouter une autre colonne, choisissez ** Ajouter une colonne**.

1. Choisissez `award` et `year` comme clés de partition sous Clé de ** partition**. Une clé de partition est requise pour chaque table. Une clé de partition peut être constituée d'une ou plusieurs colonnes. 

1. Ajoutez `category` et `rank` en tant que colonnes ** de ** clustering. Les colonnes de clustering sont facultatives et déterminent l'ordre de tri dans chaque partition.

   1. Pour ajouter une colonne de clustering, choisissez **Ajouter une colonne de clustering**.

   1. Dans la ** liste des ** colonnes, choisissez ** la catégorie**. Dans la liste **Ordre** choisissez **ASC** pour trier par ordre croissant les valeurs de cette colonne. (Choisissez **DESC** pour l'ordre décroissant.)

   1. Sélectionnez ensuite ** Ajouter une colonne de clustering ** et choisissez le ** classement. **

1. Dans la ** section Paramètres du ** tableau, choisissez Paramètres ** par défaut**.

1. Choisissez **Créer un tableau**.

1. Vérifiez que votre table a été créée.

   1. Dans le volet de navigation, choisissez **Tables**.

   1. Confirmez que votre table figure dans la liste des tables.

   1. Choisissez le nom de votre table.

   1. Vérifiez que toutes vos colonnes et tous vos types de données sont corrects.
**Note**  
Les colonnes peuvent ne pas être répertoriées dans le même ordre que celui où vous les avez ajoutées à la table. 

## Utilisation de CQL
<a name="getting-started.tables.cql"></a>

Cette procédure crée un tableau avec les colonnes et les types de données suivants à l'aide de CQL. Les `award` colonnes `year` et sont des clés de partition avec `category` et `rank` en tant que colonnes de clustering. Ensemble, elles constituent la clé primaire de la table.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Pour créer une table avec CQL**

1. Ouvrez Amazon Keyspaces AWS CloudShell et connectez-vous à celui-ci à l'aide de la commande suivante. Assurez-vous de mettre à jour {{us-east-1}} avec votre propre région.

   ```
   cqlsh-expansion cassandra.{{us-east-1}}.amazonaws.com 9142 --ssl
   ```

   Le résultat de cette commande devrait ressembler à ceci.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   ```

1. À l'invite d'espace de touche (`cqlsh:keyspace_name>`), créez votre table en entrant le code suivant dans votre fenêtre de commande.

   ```
   CREATE TABLE {{catalog.book_awards}} (
      year int,
      award text,
      rank int, 
      category text,
      book_title text,
      author text, 
      publisher text,
      PRIMARY KEY ((year, award), category, rank)
      );
   ```
**Note**  
`ASC` est l'ordre de mise en cluster par défaut. Vous pouvez également spécifier `DESC` pour l'ordre décroissant. 

   Notez que les colonnes `year` et `award` sont des clés de partition. Ensuite, `category` et `rank` les colonnes de regroupement sont classées par ordre croissant ()`ASC`. Ensemble, ces colonnes constituent la clé primaire de la table. 

1. Vérifiez que votre table a été créée.

   ```
   SELECT * from system_schema.tables WHERE keyspace_name='catalog.book_awards' ;
   ```

   La sortie doit ressembler à celle-ci.

   ```
    keyspace_name | table_name | bloom_filter_fp_chance | caching | cdc | comment | compaction | compression | crc_check_chance | dclocal_read_repair_chance | default_time_to_live | extensions | flags | gc_grace_seconds | id | max_index_interval | memtable_flush_period_in_ms | min_index_interval | read_repair_chance | speculative_retry
   ---------------+------------+------------------------+---------+-----+---------+------------+-------------+------------------+----------------------------+----------------------+------------+-------+------------------+----+--------------------+-----------------------------+--------------------+--------------------+-------------------
   
   (0 rows)
   ```

1. Vérifiez la structure de votre table.

   ```
   SELECT * FROM system_schema.columns WHERE keyspace_name = 'catalog' AND table_name = 'book_awards';
   ```

   Le résultat de cette instruction doit ressembler à cet exemple.

   ```
    keyspace_name | table_name  | column_name | clustering_order | column_name_bytes      | kind          | position | type
   ---------------+-------------+-------------+------------------+------------------------+---------------+----------+------
          catalog | book_awards |        year |             none |             0x79656172 | partition_key |        0 |  int
          catalog | book_awards |       award |             none |           0x6177617264 | partition_key |        1 | text
          catalog | book_awards |    category |              asc |     0x63617465676f7279 |    clustering |        0 | text
          catalog | book_awards |        rank |              asc |             0x72616e6b |    clustering |        1 |  int
          catalog | book_awards |      author |             none |         0x617574686f72 |       regular |       -1 | text
          catalog | book_awards |  book_title |             none | 0x626f6f6b5f7469746c65 |       regular |       -1 | text
          catalog | book_awards |   publisher |             none |   0x7075626c6973686572 |       regular |       -1 | text
   
   (7 rows)
   ```

   Confirmez que toutes les colonnes et tous les types de données sont tels que vous l'escomptiez. L'ordre des colonnes peut être différent de celui de l'instruction `CREATE`.

## Utilisation de AWS CLI
<a name="getting-started.tables.cli"></a>

Cette procédure crée un tableau contenant les colonnes et les types de données suivants à l'aide du AWS CLI. Les `award` colonnes `year` et constituent la clé de partition avec `category` et en `rank` tant que colonnes de clustering.

```
year           int
award          text
rank           int 
category       text
book_title     text
author         text
publisher      text
```

**Pour créer un tableau à l'aide du AWS CLI**

La commande suivante crée une table nommée * book\_awards*. La clé de partition de la table se compose des colonnes `year` `award` et la clé de clustering comprend les colonnes. Les deux colonnes `category` de clustering utilisent l'ordre de tri croissant. `rank` (Pour faciliter la lisibilité, la commande `schema-definition` de création de table de cette section est divisée en lignes distinctes.)

1. Vous pouvez créer le tableau à l'aide de l'instruction suivante.

   ```
   aws keyspaces create-table --keyspace-name 'catalog' \
                         --table-name 'book_awards' \
                         --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},
               {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}],
               partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
   ```

   Cette commande produit le résultat suivant.

   ```
   {
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards"
   }
   ```

1. Pour confirmer les métadonnées et les propriétés de la table, vous pouvez utiliser la commande suivante.

   ```
   aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
   ```

   Cette commande renvoie la sortie suivante.

   ```
   {
       "keyspaceName": "catalog",
       "tableName": "book_awards",
       "resourceArn": "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/catalog/table/book_awards",
       "creationTimestamp": "2024-07-11T15:12:55.571000+00:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "year",
                   "type": "int"
               },
               {
                   "name": "award",
                   "type": "text"
               },
               {
                   "name": "category",
                   "type": "text"
               },
               {
                   "name": "rank",
                   "type": "int"
               },
               {
                   "name": "author",
                   "type": "text"
               },
               {
                   "name": "book_title",
                   "type": "text"
               },
               {
                   "name": "publisher",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "year"
               },
               {
                   "name": "award"
               }
           ],
           "clusteringKeys": [
               {
                   "name": "category",
                   "orderBy": "ASC"
               },
               {
                   "name": "rank",
                   "orderBy": "ASC"
               }
           ],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2024-07-11T15:12:55.571000+00:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "DISABLED"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       },
       "replicaSpecifications": []
   }
   ```

Pour effectuer des opérations CRUD (création, lecture, mise à jour et suppression) sur les données de votre table, passez à [Créez, lisez, mettez à jour et supprimez des données (CRUD) à l'aide de CQL dans Amazon Keyspaces](getting-started.dml.md).