in golang/gocql/connection-sigv4/main.go [35:74]
func main() {
//Determine Contact Point
contactPoint := fmt.Sprintf("cassandra.%s.amazonaws.com:9142", awsRegion)
fmt.Println("Using Contact Point ", contactPoint)
// Configure Cluster
cluster := gocql.NewCluster(contactPoint)
awsAuth := sigv4.NewAwsAuthenticator()
cluster.Authenticator = awsAuth
// Configure Connection TrustStore for TLS
cluster.SslOpts = &gocql.SslOptions{
CaPath: "certs/sf-class2-root.crt",
}
cluster.Consistency = gocql.LocalQuorum
cluster.DisableInitialHostLookup = true
cassandraSession, err := cluster.CreateSession()
if err != nil {
fmt.Println("Cassandra Session Creation Error - ", err)
os.Exit(-2)
}
defer cassandraSession.Close()
// Perform Query
var keyspaceName string
iter := cassandraSession.Query("SELECT keyspace_name FROM system_schema.keyspaces;").Iter()
defer iter.Close()
for iter.Scan(&keyspaceName) {
fmt.Println("keyspace_name : ", keyspaceName)
}
if err := iter.Close(); err != nil {
log.Fatal(err)
}
}