Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Puede usar la AWS Command Line Interface (AWS CLI) para controlar varios servicios de AWS desde la línea de comandos y automatizarlos mediante scripts. Con Amazon Keyspaces puede utilizar la AWS CLI para operaciones de lenguaje de definición de datos (DDL), como la de creación de una tabla. Además, puede utilizar herramientas y servicios de infraestructura como código (IaC), como AWS CloudFormation y Terraform.
Para poder utilizar la AWS CLI con Amazon Keyspaces, debe obtener un ID de clave de acceso y una clave de acceso secreta. Para obtener más información, consulte Creación y configuración de AWS credenciales para Amazon Keyspaces.
Para obtener una lista completa de todos los comandos disponibles para Amazon Keyspaces en la AWS CLI, consulte la Referencia de comandos de AWS CLI
Descarga y configuración de la AWS CLI
La AWS CLI está disponible en https://aws.amazon.com/cli
-
Siga las instrucciones indicadas en Instalación de la AWS CLI y en Configuración de la AWS CLI
Uso de la AWS CLI con Amazon Keyspaces
El formato de la línea de comandos consiste en un nombre de operación de Amazon Keyspaces seguido de los parámetros para dicha operación. La AWS CLI admite la sintaxis abreviada de los valores de los parámetros, además de JSON. En los siguientes ejemplos de Amazon Keyspaces se utiliza la sintaxis abreviada AWS CLI. Para obtener más información, consulte Uso de la sintaxis abreviada con la CLI de AWS.
El siguiente comando crea un espacio de claves con el nombre catalog.
aws keyspaces create-keyspace --keyspace-name 'catalog'
El comando devuelve el nombre de recurso de Amazon (ARN) en la salida.
{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }
Para confirmar que el espacio de claves catalog existe, puede utilizar el siguiente comando.
aws keyspaces get-keyspace --keyspace-name 'catalog'
La salida del comando devuelve los siguientes valores.
{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }
El siguiente comando crea una tabla con el nombre book_awards. La clave de partición de la tabla está formada por las columnas year
y award
y la clave de agrupación está formada por las columnas category
y rank
; ambas columnas de agrupación utilizan el orden de clasificación ascendente. Para facilitar la legibilidad, los comandos largos de esta sección se dividen en líneas separadas.
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}]'
Este comando da como resultado la siguiente salida.
{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards" }
Para confirmar los metadatos y las propiedades de la tabla, puede utilizar el siguiente comando.
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
Este comando devuelve la siguiente salida.
{ "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": "" } }
Al crear tablas con esquemas complejos, puede resultar útil cargar la definición del esquema de la tabla desde un archivo JSON. A continuación se muestra un ejemplo. Descargue el archivo JSON de ejemplo de definición de esquema de schema_definition.zip y extraiga schema_definition.json
, tomando nota de la ruta de acceso al archivo. En este ejemplo, el archivo JSON de definición del esquema se encuentra en el directorio actual. Para conocer las distintas opciones de ruta del archivo, consulte Carga de parámetros desde un archivo.
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition '
file://schema_definition.json
'
En los siguientes ejemplos se muestra cómo crear una tabla simple con el nombre myTable con opciones adicionales. Tenga en cuenta que los comandos están divididos en filas separadas para mejorar la legibilidad. Este comando muestra la forma de crear una tabla y:
establecer el modo de capacidad de la tabla
habilitar la recuperación en un momento dado para la tabla
fijar el valor predeterminado de periodo de vida (TTL) de la tabla en un año
añadir dos etiquetas para la tabla
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'
En este ejemplo se muestra cómo crear una nueva tabla que utilice una clave administrada por el cliente para el cifrado y tenga habilitado TTL a fin de permitirle establecer fechas de caducidad en columnas y filas. Para ejecutar este ejemplo, debe sustituir el ARN del recurso para la clave administrada por el cliente de AWS KMS por su propia clave y asegurarse de que Amazon Keyspaces tenga acceso a ella.
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'