Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Utilizzo di un driver client Cassandra Go per accedere ad Amazon Keyspaces a livello di codice

Modalità Focus
Utilizzo di un driver client Cassandra Go per accedere ad Amazon Keyspaces a livello di codice - Amazon Keyspaces (per Apache Cassandra)

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à.

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à.

Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client Go Cassandra. Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:

  • Crea credenziali specifiche del servizio associate a un utente specifico (). AWS Identity and Access Management IAM

  • Per una maggiore sicurezza, consigliamo di creare chiavi di IAM accesso per IAM i principali utilizzate in tutti i servizi. AWS Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di IAM accesso anziché nome utente e password. Per ulteriori informazioni, consulta Crea e configura AWS credenziali per Amazon Keyspaces.

Prima di iniziare

È necessario completare la seguente attività prima di iniziare.

Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. Per connetterti ad Amazon Keyspaces utilizzandoTLS, devi scaricare un certificato digitale Amazon e configurare il driver Go da utilizzare. TLS

Scarica il certificato digitale Starfield utilizzando il seguente comando e salvalo sf-class2-root.crt localmente o nella tua 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.

curl https://certs.secureserver.net/repository/sf-class2-root.crt -O

Connect ad Amazon Keyspaces utilizzando il driver Gocql per Apache Cassandra e le credenziali specifiche del servizio

  1. Crea una directory per l'applicazione.

    mkdir ./gocqlexample
  2. Accedere alla nuova directory.

    cd gocqlexample
  3. Crea un file per la tua applicazione.

    touch cqlapp.go
  4. Scarica il driver Go.

    go get github.com/gocql/gocql
  5. Aggiungi il seguente codice di esempio al file cqlapp.go.

    package main import ( "fmt" "github.com/gocql/gocql" "log" ) func main() { // add the Amazon Keyspaces service endpoint cluster := gocql.NewCluster("cassandra.us-east-2.amazonaws.com") cluster.Port=9142 // add your service specific credentials cluster.Authenticator = gocql.PasswordAuthenticator{ Username: "ServiceUserName", Password: "ServicePassword"} // provide the path to the sf-class2-root.crt cluster.SslOpts = &gocql.SslOptions{ CaPath: "path_to_file/sf-class2-root.crt", EnableHostVerification: false, } // Override default Consistency to LocalQuorum cluster.Consistency = gocql.LocalQuorum cluster.DisableInitialHostLookup = false session, err := cluster.CreateSession() if err != nil { fmt.Println("err>", err) } defer session.Close() // run a sample query from the system keyspace var text string iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter() for iter.Scan(&text) { fmt.Println("keyspace_name:", text) } if err := iter.Close(); err != nil { log.Fatal(err) } session.Close() }

    Note sull'utilizzo:

    1. Sostituisci "path_to_file/sf-class2-root.crt" con il percorso del certificato salvato nel primo passaggio.

    2. Assicurati che ServiceUserName e ServicePassword corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi da. Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces

    3. Per un elenco degli endpoint disponibili, consulta. Endpoint di servizio per Amazon Keyspaces

  6. Costruisci il programma.

    go build cqlapp.go
  7. Esegui il programma.

    ./cqlapp

Connect ad Amazon Keyspaces utilizzando il driver Go per Apache Cassandra e il plug-in di autenticazione SigV4

Il seguente esempio di codice mostra come utilizzare il plug-in di autenticazione SigV4 per il driver open source Go per accedere ad Amazon Keyspaces (per Apache Cassandra).

Se non l'hai già fatto, crea le credenziali per il tuo principale seguendo i passaggi riportati in. IAM Crea e configura AWS credenziali per Amazon Keyspaces Se un'applicazione è in esecuzione su Lambda o un'EC2istanza Amazon, utilizza automaticamente le credenziali dell'istanza. Per eseguire questo tutorial localmente, puoi memorizzare le credenziali come variabili di ambiente locali.

Aggiungi il plug-in di autenticazione Go SigV4 all'applicazione dal repository. GitHub Il plugin supporta la versione 1.2.x del driver open source Go per Cassandra e dipende da for Go. AWS SDK

$ go mod init $ go get github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin

In questo esempio di codice, l'endpoint Amazon Keyspaces è rappresentato dalla classe. Cluster Utilizza la proprietà AwsAuthenticator for the authenticator del cluster per ottenere le credenziali.

package main import ( "fmt" "github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin/sigv4" "github.com/gocql/gocql" "log" ) func main() { // configuring the cluster options cluster := gocql.NewCluster("cassandra.us-west-2.amazonaws.com") cluster.Port=9142 // the authenticator uses the default credential chain to find AWS credentials cluster.Authenticator = sigv4.NewAwsAuthenticator() cluster.SslOpts = &gocql.SslOptions{ CaPath: "path_to_file/sf-class2-root.crt", EnableHostVerification: false, } cluster.Consistency = gocql.LocalQuorum cluster.DisableInitialHostLookup = false session, err := cluster.CreateSession() if err != nil { fmt.Println("err>", err) return } defer session.Close() // doing the query var text string iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter() for iter.Scan(&text) { fmt.Println("keyspace_name:", text) } if err := iter.Close(); err != nil { log.Fatal(err) } }

Note sull'utilizzo:

  1. Sostituisci "path_to_file/sf-class2-root.crt" con il percorso del certificato salvato nel primo passaggio.

  2. Affinché questo esempio venga eseguito localmente, è necessario definire le seguenti variabili come variabili di ambiente:

    • AWS_ACCESS_KEY_ID

    • AWS_SECRET_ACCESS_KEY

    • AWS_DEFAULT_REGION

  3. Per memorizzare le chiavi di accesso al di fuori del codice, consulta le best practice all'indirizzoMemorizza le chiavi di accesso per l'accesso programmatico.

  4. Per un elenco degli endpoint disponibili, consultaEndpoint di servizio per Amazon Keyspaces.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.