Utilisation du AWS CLI pour se connecter à 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.

Utilisation du AWS CLI pour se connecter à Amazon Keyspaces

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour contrôler plusieurs AWS services depuis la ligne de commande et les automatiser par le biais de scripts. Avec Amazon Keyspaces, vous pouvez utiliser les opérations du langage AWS CLI de définition des données (DDL), telles que la création d'une table. En outre, vous pouvez utiliser des services et des outils d'infrastructure en tant que code (IaC) tels que AWS CloudFormation Terraform.

Avant de pouvoir l'utiliser AWS CLI avec Amazon Keyspaces, vous devez obtenir un identifiant de clé d'accès et une clé d'accès secrète. Pour de plus amples informations, veuillez consulter Création et configuration des AWS informations d'identification pour Amazon Keyspaces.

Pour une liste complète de toutes les commandes disponibles pour Amazon Keyspaces dans le AWS CLI, consultez le AWS CLI Command Reference.

Téléchargement et configuration de l' AWS CLI

Le AWS CLI est disponible à l'adressehttps://aws.amazon.com/cli. Elle s'exécute sous Windows, macOS ou Linux. Après avoir téléchargé le AWS CLI, procédez comme suit pour l'installer et le configurer :

Utilisation du AWS CLI avec Amazon Keyspaces

Le format de ligne de commande consiste en un nom d'opération Amazon Keyspaces suivi des paramètres de cette opération. Il AWS CLI prend en charge une syntaxe abrégée pour les valeurs des paramètres, ainsi que du JSON. Les exemples Amazon Keyspaces suivants utilisent une syntaxe AWS CLI abrégée. Pour plus d'informations, consultez la section Utilisation de la syntaxe abrégée avec la CLI AWS.

La commande suivante crée un espace de touches avec le catalogue de noms.

aws keyspaces create-keyspace --keyspace-name 'catalog'

La commande renvoie la ressource Amazon Resource Name (ARN) dans la sortie.

{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

Pour vérifier l'existence du catalogue Keyspace, vous pouvez utiliser la commande suivante.

aws keyspaces get-keyspace --keyspace-name 'catalog'

La sortie de la commande renvoie les valeurs suivantes.

{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

La commande suivante crée une table nommée book_awards. 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 lecture plus facile, les commandes longues dans cette section sont divisées en plusieurs lignes).

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:111222333444:/keyspace/catalog/table/book_awards" }

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:111222333444:/keyspace/catalog/table/book_awards", "creationTimestamp": 1645564368.628, "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": 1645564368.628 }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "DISABLED" }, "ttl": { "status": "ENABLED" }, "defaultTimeToLive": 0, "comment": { "message": "" } }

Lorsque vous créez des tables avec des schémas complexes, il peut être utile de charger la définition du schéma de la table à partir d'un fichier JSON. En voici un exemple. Téléchargez le fichier JSON d'exemple de définition de schéma depuis schema_definition.zip et schema_definition.json extrayez-le en prenant note du chemin d'accès au fichier. Dans cet exemple, le fichier JSON de définition du schéma se trouve dans le répertoire actuel. Pour connaître les différentes options de chemin de fichier, consultez Comment charger des paramètres à partir d'un fichier.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition 'file://schema_definition.json'

Les exemples suivants montrent comment créer une table simple nommée MyTable avec des options supplémentaires. Notez que les commandes sont divisées en lignes distinctes pour améliorer la lisibilité. Cette commande indique comment créer une table et :

  • définir le mode de capacité de la table

  • activer Point-in-time la restauration de la table

  • définir la valeur TTL (Time to Live) par défaut de la table sur un an

  • ajouter deux balises pour le tableau

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' --point-in-time-recovery 'status=ENABLED' --default-time-to-live '31536000' --tags 'key=env,value=test' 'key=dpt,value=sec'

Cet exemple montre comment créer une nouvelle table qui utilise une clé gérée par le client pour le chiffrement et dont le protocole TTL est activé pour vous permettre de définir des dates d'expiration pour les colonnes et les lignes. Pour exécuter cet exemple, vous devez remplacer l'ARN de la ressource pour la AWS KMS clé gérée par le client par votre propre clé et vous assurer qu'Amazon Keyspaces y a accès.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111222333444:key/11111111-2222-3333-4444-555555555555' --ttl 'status=ENABLED'