

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 une table à l'aide de la console ou du AWS CLI. `cqlsh`

Une table est l'endroit où vos données sont organisées et stockées. La clé primaire de votre table détermine la manière dont les données sont partitionnées dans votre table. La clé primaire est composée d'une clé de partition obligatoire et d'une ou 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 des tables : [Vérifiez l'état de création des tables dans Amazon Keyspaces](tables-create.md)
+ Instructions DDL dans la référence du langage CQL : [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)
+ Surveillance de l'utilisation des ressources des tables : [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 regroupement — Facultatif**

Utilisez la procédure suivante pour créer une table avec 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 à la AWS Management Console console Amazon Keyspaces et ouvrez-la chez https://console.aws.amazon.com/keyspaces/ vous.](https://console.aws.amazon.com/keyspaces/home)

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\$1awards** comme nom pour votre table.

   **Contraintes de 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 le nom de la colonne.

      **Contraintes de 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 **Partition Key**. 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 une **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 une table 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 AWS CloudShell et connectez-vous à Amazon Keyspaces à l'aide de la commande suivante. Assurez-vous d'effectuer la mise à 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 colonnes clés de partition. Ensuite, `category` et `rank` les colonnes de clustering sont-elles ordonné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 à ceci.

   ```
    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 à celui de 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`.

## En utilisant le AWS CLI
<a name="getting-started.tables.cli"></a>

Cette procédure crée une table avec 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\$1awards*. La clé de partition de la table comprend les colonnes `year` `award` et la clé de clustering les colonnes. Les deux colonnes `category` de `rank` clustering utilisent l'ordre de tri croissant. (Pour une meilleure 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éation, lecture, mise à jour et suppression de données (CRUD) à l'aide de CQL dans Amazon Keyspaces](getting-started.dml.md).