Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di AWS CLI per connettersi ad Amazon Keyspaces
Puoi usare il AWS Command Line Interface (AWS CLI) per controllare più AWS servizi dalla riga di comando e automatizzarli tramite script. Con Amazon Keyspaces puoi utilizzare le AWS CLI operazioni DDL (Data Definition Language), come la creazione di una tabella. Inoltre, puoi utilizzare servizi e strumenti di infrastruttura come codice (IaC) come AWS CloudFormation Terraform.
Prima di poterlo utilizzare AWS CLI con Amazon Keyspaces, devi ottenere un ID della chiave di accesso e una chiave di accesso segreta. Per ulteriori informazioni, consulta Crea e configura AWS credenziali per Amazon Keyspaces.
Per un elenco completo di tutti i comandi disponibili per Amazon Keyspaces in AWS CLI, consulta il AWS CLI Command
Download e configurazione della AWS CLI
AWS CLI È disponibile all'indirizzohttps://aws.amazon.com/cli
-
Segui le istruzioni per l'installazione AWS CLI e la configurazione di AWS CLI
Utilizzo di AWS CLI con Amazon Keyspaces
Il formato della riga di comando è costituito da un nome di operazione Amazon Keyspaces seguito dai parametri per tale operazione. AWS CLI Supporta una sintassi abbreviata per i valori dei parametri, oltre a JSON. I seguenti esempi di Amazon Keyspaces utilizzano una sintassi AWS CLI abbreviata. Per ulteriori informazioni, consulta Uso della sintassi abbreviata con la CLI. AWS
Il comando seguente crea uno spazio di chiavi con il nome catalog.
aws keyspaces create-keyspace --keyspace-name 'catalog'
Il comando restituisce la risorsa Amazon Resource Name (ARN) nell'output.
{ "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/" }
Per confermare l'esistenza del catalogo keyspace, puoi usare il seguente comando.
aws keyspaces get-keyspace --keyspace-name 'catalog'
L'output del comando restituisce i seguenti valori.
{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/" }
Il comando seguente crea una tabella con il nome book_awards. La chiave di partizione della tabella è costituita dalle colonne year
award
e la chiave di clustering è costituita dalle colonne category
ed rank
entrambe le colonne di clustering utilizzano l'ordinamento crescente. Per facilitare la leggibilità, in questa sezione i comandi lunghi sono suddivisi su righe separate.
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}]'
Questo comando produce l'output seguente.
{ "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards" }
Per confermare i metadati e le proprietà della tabella, è possibile utilizzare il seguente comando.
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
Questo comando restituisce il seguente output.
{ "keyspaceName": "catalog", "tableName": "book_awards", "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/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": "" } }
Quando si creano tabelle con schemi complessi, può essere utile caricare la definizione dello schema della tabella da un file JSON. Di seguito è riportato un esempio di ciò. Scaricate il file JSON di esempio di definizione dello schema da schema_definition.zip ed estraeteloschema_definition.json
, prendendo nota del percorso del file. In questo esempio, il file JSON di definizione dello schema si trova nella directory corrente. Per le diverse opzioni relative al percorso dei file, consultate Come caricare i parametri da un file.
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition '
file://schema_definition.json
'
Gli esempi seguenti mostrano come creare una tabella semplice con il nome myTable con opzioni aggiuntive. Nota che i comandi sono suddivisi in righe separate per migliorare la leggibilità. Questo comando mostra come creare una tabella e:
imposta la modalità di capacità della tabella
abilita Point-in-time il ripristino per la tabella
imposta il valore Time to Live (TTL) predefinito per la tabella su un anno
aggiungi due tag per la tabella
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'
Questo esempio mostra come creare una nuova tabella che utilizza una chiave gestita dal cliente per la crittografia e ha il TTL abilitato per consentire di impostare le date di scadenza per colonne e righe. Per eseguire questo esempio, devi sostituire l'ARN della risorsa per la AWS KMS chiave gestita dal cliente con la tua chiave e assicurarti che Amazon Keyspaces possa accedervi.
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:111122223333:key/11111111-2222-3333-4444-555555555555
' --ttl 'status=ENABLED'