Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan driver klien Cassandra Go untuk mengakses Amazon Keyspaces secara terprogram

Mode fokus
Menggunakan driver klien Cassandra Go untuk mengakses Amazon Keyspaces secara terprogram - Amazon Keyspaces (untuk Apache Cassandra)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien Go Cassandra. Untuk memberikan kredensi kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:

  • Buat kredenal khusus layanan yang terkait dengan pengguna () tertentu AWS Identity and Access Management . IAM

  • Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat kunci IAM akses untuk IAM prinsipal yang digunakan di semua layanan. AWS Plugin otentikasi Amazon Keyspaces SiGv4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses alih-alih nama pengguna dan kata sandi. IAM Untuk informasi selengkapnya, lihat Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces.

Sebelum kamu memulai

Anda harus menyelesaikan tugas berikut sebelum Anda dapat memulai.

Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakanTLS, Anda perlu mengunduh sertifikat digital Amazon dan mengonfigurasi driver Go untuk digunakan. TLS

Unduh sertifikat digital Starfield menggunakan perintah berikut dan simpan sf-class2-root.crt secara lokal atau di direktori home Anda.

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

Anda juga dapat menggunakan sertifikat digital Amazon untuk terhubung ke Amazon Keyspaces dan dapat terus melakukannya jika klien Anda berhasil terhubung ke Amazon Keyspaces. Sertifikat Starfield memberikan kompatibilitas mundur tambahan untuk klien yang menggunakan otoritas sertifikat yang lebih lama.

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

Connect ke Amazon Keyspaces menggunakan driver Gocql untuk Apache Cassandra dan kredensi khusus layanan

  1. Buat direktori untuk aplikasi Anda.

    mkdir ./gocqlexample
  2. Arahkan ke direktori baru.

    cd gocqlexample
  3. Buat file untuk aplikasi Anda.

    touch cqlapp.go
  4. Unduh driver Go.

    go get github.com/gocql/gocql
  5. Tambahkan kode contoh berikut ke 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() }

    Catatan penggunaan:

    1. Ganti "path_to_file/sf-class2-root.crt" dengan jalur ke sertifikat yang disimpan di langkah pertama.

    2. Pastikan bahwa ServiceUserName dan ServicePassword mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensil khusus layanan dengan mengikuti langkah-langkahnya. Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces

    3. Untuk daftar titik akhir yang tersedia, lihatTitik akhir layanan untuk Amazon Keyspaces.

  6. Bangun programnya.

    go build cqlapp.go
  7. Jalankan program.

    ./cqlapp

Connect ke Amazon Keyspaces menggunakan driver Go untuk Apache Cassandra dan plugin otentikasi SiGv4

Contoh kode berikut menunjukkan cara menggunakan plugin otentikasi SiGv4 untuk driver Go open-source untuk mengakses Amazon Keyspaces (untuk Apache Cassandra).

Jika Anda belum melakukannya, buat kredensi untuk IAM kepala sekolah Anda mengikuti langkah-langkah di. Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces Jika aplikasi berjalan di Lambda atau EC2 instans Amazon, aplikasi Anda secara otomatis menggunakan kredensil instance. Untuk menjalankan tutorial ini secara lokal, Anda dapat menyimpan kredensialnya sebagai variabel lingkungan lokal.

Tambahkan plugin otentikasi Go SiGv4 ke aplikasi Anda dari repositori. GitHub Plugin ini mendukung versi 1.2.x dari driver Go open-source untuk Cassandra dan bergantung pada for Go. AWS SDK

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

Dalam contoh kode ini, titik akhir Amazon Keyspaces diwakili oleh kelas. Cluster Ini menggunakan properti AwsAuthenticator for authenticator cluster untuk mendapatkan kredensil.

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) } }

Catatan penggunaan:

  1. Ganti "path_to_file/sf-class2-root.crt" dengan jalur ke sertifikat yang disimpan di langkah pertama.

  2. Untuk contoh ini berjalan secara lokal, Anda perlu mendefinisikan variabel berikut sebagai variabel lingkungan:

    • AWS_ACCESS_KEY_ID

    • AWS_SECRET_ACCESS_KEY

    • AWS_DEFAULT_REGION

  3. Untuk menyimpan kunci akses di luar kode, lihat praktik terbaik diSimpan kunci akses untuk akses terprogram.

  4. Untuk daftar titik akhir yang tersedia, lihatTitik akhir layanan untuk Amazon Keyspaces.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.