Utilisation de AWS CLI pour vous 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 de AWS CLI pour vous connecter à Amazon Keyspaces

Vous pouvez utiliser le plugin AWS Command Line Interface (AWS CLI) pour contrôler plusieurs AWS services depuis la ligne de commande et automatisez-les via des scripts. Avec Amazon Keyspaces, vous pouvez utiliser AWS CLI pour les opérations du langage 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 sous forme de code (IaC) tels que AWS CloudFormation et Terraform.

Avant de pouvoir 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 AWS informations d'identification pour Amazon Keyspaces.

Pour obtenir une liste complète de toutes les commandes disponibles pour Amazon Keyspaces dans AWS CLI, consultez le AWS CLI Référence de commande .

Téléchargement et configuration du 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 de 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. Le AWS CLI prend en charge une syntaxe abrégée pour les valeurs des paramètres, ainsi que. JSON Les exemples Amazon Keyspaces suivants utilisent AWS CLI syntaxe abrégée. Pour plus d'informations, consultez la section Utilisation d'une syntaxe abrégée avec AWS CLI.

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 JSON fichier. En voici un exemple. Téléchargez le JSON fichier 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 JSON fichier 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 portant le nom myTableavec 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 la oint-in-time restauration P pour la table

  • définir la valeur Time to Live (TTL) 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 qui TTL vous permet de définir des dates d'expiration pour les colonnes et les lignes. Pour exécuter cet exemple, vous devez remplacer la ressource ARN gérée par le client AWS KMS utilisez votre propre clé et assurez-vous 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'