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 cqlsh
per connettersi ad Amazon Keyspaces
Per connetterti ad Amazon Keyspaces utilizzandocqlsh
, puoi utilizzare il. cqlsh-expansion
Si tratta di un toolkit che contiene strumenti comuni come Apache Cassandra cqlsh
e helper preconfigurati per Amazon Keyspaces, pur mantenendo la piena compatibilità con Apache Cassandra. cqlsh-expansion
Integra il plug-in di autenticazione SigV4 e consente di connettersi utilizzando chiavi di accesso anziché nome utente e password. IAM Devi solo installare cqlsh
gli script per stabilire una connessione e non la distribuzione completa di Apache Cassandra, perché Amazon Keyspaces è serverless. Questo pacchetto di installazione leggero include cqlsh-expansion
cqlsh
gli script classici che puoi installare su qualsiasi piattaforma che supporti Python.
Nota
Murmur3Partitioner
è il partizionatore consigliato per Amazon Keyspaces e. cqlsh-expansion
cqlsh-expansion
Non supporta Amazon KeyspacesDefaultPartitioner
. Per ulteriori informazioni, consulta Utilizzo dei partizionatori in Amazon Keyspaces.
Per informazioni generali sucqlsh
, vedi cqlsh
: the CQL shell
Argomenti
Utilizzo di cqlsh-expansion
per connettersi ad Amazon Keyspaces
Installazione e configurazione di cqlsh-expansion
Per installare il pacchetto
cqlsh-expansion
Python, puoi eseguire unpip
comando. Questo installacqlsh-expansion
gli script sulla tua macchina usando un'installazione pip insieme a un file contenente un elenco di dipendenze. Le--user flag
istruzionipip
per usare la directory di installazione degli utenti Python per la tua piattaforma. Su un sistema basato su Unix, quella dovrebbe essere la~/.local/
directory.Hai bisogno di Python 3 per installare
cqlsh-expansion
, per scoprire la tua versione di Python, usa.Python --version
Per installarlo, puoi eseguire il seguente comando.python3 -m pip install --user cqlsh-expansion
L'output dovrebbe essere simile a questo.
Collecting cqlsh-expansion Downloading cqlsh_expansion-0.9.6-py3-none-any.whl (153 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 KB 3.3 MB/s eta 0:00:00 Collecting cassandra-driver Downloading cassandra_driver-3.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 MB 44.5 MB/s eta 0:00:00 Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from cqlsh-expansion) (1.16.0) Collecting boto3 Downloading boto3-1.29.2-py3-none-any.whl (135 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 17.2 MB/s eta 0:00:00 Collecting cassandra-sigv4>=4.0.2 Downloading cassandra_sigv4-4.0.2-py2.py3-none-any.whl (9.8 kB) Collecting botocore<1.33.0,>=1.32.2 Downloading botocore-1.32.2-py3-none-any.whl (11.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 60.9 MB/s eta 0:00:00 Collecting s3transfer<0.8.0,>=0.7.0 Downloading s3transfer-0.7.0-py3-none-any.whl (79 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 KB 13.1 MB/s eta 0:00:00 Collecting jmespath<2.0.0,>=0.7.1 Downloading jmespath-1.0.1-py3-none-any.whl (20 kB) Collecting geomet<0.3,>=0.1 Downloading geomet-0.2.1.post1-py3-none-any.whl (18 kB) Collecting python-dateutil<3.0.0,>=2.1 Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 33.1 MB/s eta 0:00:00 Requirement already satisfied: urllib3<2.1,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore<1.33.0,>=1.32.2->boto3->cqlsh-expansion) (1.26.5) Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geomet<0.3,>=0.1->cassandra-driver->cqlsh-expansion) (8.0.3) Installing collected packages: python-dateutil, jmespath, geomet, cassandra-driver, botocore, s3transfer, boto3, cassandra-sigv4, cqlsh-expansion WARNING: The script geomet is installed in '/home/ubuntu/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts cqlsh, cqlsh-expansion and cqlsh-expansion.init are installed in '/home/ubuntu/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed boto3-1.29.2 botocore-1.32.2 cassandra-driver-3.28.0 cassandra-sigv4-4.0.2 cqlsh-expansion-0.9.6 geomet-0.2.1.post1 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.7.0
Se la directory di installazione non si trova in
PATH
, è necessario aggiungerla seguendo le istruzioni del sistema operativo. Di seguito è riportato un esempio per Ubuntu Linux.export PATH="$PATH:/home/ubuntu/.local/bin"
Per confermare che il pacchetto è installato, puoi eseguire il seguente comando.
cqlsh-expansion --version
L'output dovrebbe essere simile a questo.
cqlsh 6.1.0
Per configurare
cqlsh-expansion
, puoi eseguire uno script di post-installazione per completare automaticamente i seguenti passaggi:Crea la
.cassandra
directory nella home directory dell'utente se non esiste già.Copia un file di
cqlshrc
configurazione preconfigurato nella.cassandra
directory.Copia il certificato digitale Starfield nella
.cassandra
directory. Amazon Keyspaces utilizza questo certificato per configurare la connessione sicura con Transport Layer Security ()TLS. La crittografia in transito fornisce un ulteriore livello di protezione dei dati crittografando i dati mentre viaggiano da e verso Amazon Keyspaces.
Per esaminare prima lo script, puoi accedervi dal repository Github all'indirizzo.
post_install.py
Per utilizzare lo script, puoi eseguire il comando seguente.
cqlsh-expansion.init
Nota
La directory e il file creati dallo script di post-installazione non vengono rimossi quando si disinstalla l'
cqlsh-expansion
utilizzopip uninstall
e devono essere eliminati manualmente.
Connessione ad Amazon Keyspaces tramite cqlsh-expansion
Configura il tuo Regione AWS e aggiungila come variabile di ambiente utente.
Per aggiungere la regione predefinita come variabile di ambiente su un sistema basato su Unix, è possibile eseguire il comando seguente. Per questo esempio, utilizziamo US East (Virginia settentrionale).
export AWS_DEFAULT_REGION=us-east-1
Per ulteriori informazioni su come impostare le variabili di ambiente, anche per altre piattaforme, vedi Come impostare le variabili di ambiente.
Trova il tuo endpoint di servizio.
Scegli l'endpoint di servizio appropriato per la tua regione. Per esaminare gli endpoint disponibili per Amazon Keyspaces, consulta. Endpoint di servizio per Amazon Keyspaces Per questo esempio, utilizziamo l'endpoint.
cassandra.us-east-1.amazonaws.com
Configura il metodo di autenticazione.
La connessione con chiavi di IAM accesso (IAMutenti, ruoli e identità federate) è il metodo consigliato per una maggiore sicurezza.
Prima di poterti connettere con le chiavi di IAM accesso, devi completare i seguenti passaggi:
Crea un IAM utente oppure segui le best practice e crea un IAM ruolo che IAM gli utenti possano assumere. Per ulteriori informazioni su come creare le chiavi di IAM accesso, consultaCreazione e configurazione AWS credenziali per Amazon Keyspaces.
Crea una IAM policy che conceda al ruolo (o all'IAMutente) almeno l'accesso in sola lettura ad Amazon Keyspaces. Per ulteriori informazioni sulle autorizzazioni richieste all'IAMutente o al ruolo per connettersi ad Amazon Keyspaces, consulta. Accesso alle tabelle Amazon Keyspaces
Aggiungi le chiavi di accesso dell'IAMutente alle variabili di ambiente dell'utente come mostrato nell'esempio seguente.
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Per ulteriori informazioni su come impostare le variabili di ambiente, anche per altre piattaforme, vedi Come impostare le variabili di ambiente.
Nota
Se ti connetti da un'EC2istanza Amazon, devi anche configurare una regola in uscita nel gruppo di sicurezza che consenta il traffico dall'istanza ad Amazon Keyspaces. Per ulteriori informazioni su come visualizzare e modificare le regole EC2 in uscita, consulta Aggiungere regole a un gruppo di sicurezza nella Amazon EC2 User Guide.
-
Connect ad Amazon Keyspaces utilizzando l'autenticazione
cqlsh-expansion
e SigV4.Per connetterti ad Amazon Keyspaces con
cqlsh-expansion
, puoi usare il seguente comando. Assicurati di sostituire l'endpoint di servizio con l'endpoint corretto per la tua regione.cqlsh-expansion
cassandra.us-east-1.amazonaws.com
9142 --sslSe la connessione è riuscita, dovresti vedere un output simile a quello dell'esempio seguente.
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. cqlsh>
Se si verifica un errore di connessione, consulta la sezione Non riesco a connettermi ad Amazon Keyspaces con cqlsh per informazioni sulla risoluzione dei problemi.
Connect ad Amazon Keyspaces con credenziali specifiche del servizio.
Per connetterti con la combinazione tradizionale di nome utente e password utilizzata da Cassandra per l'autenticazione, devi prima creare credenziali specifiche del servizio per Amazon Keyspaces come descritto in. Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces È inoltre necessario concedere a tale utente le autorizzazioni per accedere ad Amazon Keyspaces, per ulteriori informazioni, consulta. Accesso alle tabelle Amazon Keyspaces
Dopo aver creato le credenziali e le autorizzazioni specifiche del servizio per l'utente, devi aggiornare il
cqlshrc
file, che in genere si trova nel percorso della directory utente.~/.cassandra/
Nelcqlshrc
file, vai alla[authentication]
sezione Cassandra e commenta il modulo SigV4 e la classe sotto[auth_provider]
usando il carattere «;», come mostrato nell'esempio seguente.[auth_provider] ; module = cassandra_sigv4.auth ; classname = SigV4AuthProvider
Dopo aver aggiornato il
cqlshrc
file, puoi connetterti ad Amazon Keyspaces con credenziali specifiche del servizio utilizzando il seguente comando.cqlsh-expansion
--sslcassandra.us-east-1.amazonaws.com
9142 -umyUserName
-pmyPassword
Rimozione
Per rimuovere il
cqlsh-expansion
pacchetto puoi usare il comando.pip uninstall
pip3 uninstall cqlsh-expansion
Il
pip3 uninstall
comando non rimuove la directory e i file correlati creati dallo script di post-installazione. Per rimuovere la cartella e i file creati dallo script di post-installazione, è possibile eliminare la.cassandra
directory.
Come configurare manualmente le cqlsh
connessioni per TLS
Amazon Keyspaces accetta solo connessioni sicure utilizzando Transport Layer Security ()TLS. Puoi utilizzare l'cqlsh-expansion
utilità che scarica automaticamente il certificato e installa un file di configurazione preconfiguratocqlshrc
. Per ulteriori informazioni, consulta questa Utilizzo di cqlsh-expansion per connettersi ad Amazon Keyspaces pagina.
Se desideri scaricare il certificato e configurare la connessione manualmente, puoi farlo utilizzando i seguenti passaggi.
Scaricate il certificato digitale Starfield utilizzando il seguente comando e salvatelo
sf-class2-root.crt
localmente o nella vostra home directory.curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Nota
Puoi anche utilizzare il certificato digitale Amazon per connetterti ad Amazon Keyspaces e puoi continuare a farlo se il tuo client si connette ad Amazon Keyspaces con successo. Il certificato Starfield offre un'ulteriore compatibilità con le versioni precedenti per i client che utilizzano autorità di certificazione precedenti.
Apri il file
cqlshrc
di configurazione nella home directory di Cassandra, ad esempio,${HOME}/.cassandra/cqlshrc
e aggiungi le seguenti righe.[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile =
path_to_file
/sf-class2-root.crt