All Products
Search
Document Center

Lindorm:Kembangkan aplikasi dengan driver CQL Cassandra non-Java

Last Updated:Jun 25, 2026

Pelajari cara menggunakan driver C++, Python, Node.js, dan Go untuk mengakses LindormTable dengan Cassandra Query Language (CQL).

Prasyarat

  • Anda telah memperoleh endpoint CQL untuk LindormTable, seperti yang ditunjukkan pada gambar berikut.CQL连接地址

  • Unduh dan instal driver untuk bahasa pemrograman Anda. Untuk informasi selengkapnya, lihat Cassandra client drivers.

Akses LindormTable dengan driver CQL Python

  1. Instal paket dependensi DataStax Python. Untuk informasi selengkapnya, lihat Instal SDK untuk Python.

    # Instal versi tertentu (disarankan versi 3.x).
    pip install cassandra-driver==3.19.0
    # Instal versi terbaru.
    pip install cassandra-driver
  2. Contoh berikut menunjukkan cara mengakses LindormTable.

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    import logging
    import sys
    from cassandra.cluster import Cluster
    from cassandra.auth import PlainTextAuthProvider
    logging.basicConfig(stream=sys.stdout, level=logging.INFO)
    cluster = Cluster(
        # Masukkan endpoint CQL untuk LindormTable. Anda tidak perlu menentukan port.
        contact_points=["ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com"],
        # Masukkan username dan password Anda. Default keduanya adalah root.
        auth_provider=PlainTextAuthProvider("cassandra", "****"))
    session = cluster.connect()
    # Buat keyspace.
    session.execute(
                    "CREATE KEYSPACE IF NOT EXISTS testKeyspace WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};");
    # Buat tabel.
    session.execute(
                    "CREATE TABLE IF NOT EXISTS testKeyspace.testTable (id int PRIMARY KEY, name text,age int,address text);");
    # Masukkan data.
    session.execute(
                    "INSERT INTO testKeyspace.testTable (id, name, age, address) VALUES ( 1, 'testname', 11, 'hangzhou');");
    # Kueri data.
    rows = session.execute(
                    "SELECT * FROM testKeyspace.testTable ;");
    # Cetak setiap baris ke konsol.
    for row in rows:
        print("# row: {}".format(row))
    # Tutup session.
    session.shutdown()
    # Matikan kluster.
    cluster.shutdown()

Akses LindormTable dengan driver CQL C++

  1. Unduh paket dependensi C++. Untuk informasi selengkapnya, lihat DataStax C++ Driver.

  2. Contoh berikut menunjukkan cara mengakses LindormTable.

    CassFuture* connect_future = NULL;
    CassCluster* cluster = cass_cluster_new();
    CassSession* session = cass_session_new();
    // Masukkan endpoint CQL untuk LindormTable. Anda tidak perlu menentukan port.
    char* hosts = "ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com";
    // Bangun koneksi.
    cass_cluster_set_contact_points(cluster, hosts);
    connect_future = cass_session_connect(session, cluster);
    // Jalankan kueri.
    if (cass_future_error_code(connect_future) == CASS_OK) {
        CassFuture* close_future = NULL;
        const char* query = "SELECT  name FROM testKeyspace.testTable ";
        CassStatement* statement = cass_statement_new(query, 0);
        CassFuture* result_future = cass_session_execute(session, statement);
        if (cass_future_error_code(result_future) == CASS_OK) {
          // Peroleh hasil kueri.
          const CassResult* result = cass_future_get_result(result_future);
          const CassRow* row = cass_result_first_row(result);
          if (row) {
            const CassValue* value = cass_row_get_column_by_name(row, "name");
            // Cetak hasilnya.
            const char* name;
            size_t name_length;
            cass_value_get_string(value, &name, &name_length);
            printf("release_version: '%.*s'\n", (int)name_length, name);
          }
          cass_result_free(result);
        } else {
          // Tangani pengecualian.
          const char* message;
          size_t message_length;
          cass_future_error_message(result_future, &message, &message_length);
          fprintf(stderr, "Tidak dapat menjalankan kueri: '%.*s'\n", (int)message_length, message);
        }
        cass_statement_free(statement);
        cass_future_free(result_future);
        // Lepaskan sumber daya secara manual.
        close_future = cass_session_close(session);
        cass_future_wait(close_future);
        cass_future_free(close_future);
      } else {
        // Tangani pengecualian.
        const char* message;
        size_t message_length;
        cass_future_error_message(connect_future, &message, &message_length);
        fprintf(stderr, "Tidak dapat terhubung: '%.*s'\n", (int)message_length, message);
      }
      cass_future_free(connect_future);
      cass_cluster_free(cluster);
      cass_session_free(session);           

Akses LindormTable dengan driver CQL Node.js

  1. Instal paket dependensi Node.js.

    npm install cassandra-driver 
  2. Contoh berikut menunjukkan cara mengakses LindormTable.

    const cassandra = require('cassandra-driver');
    /**
    * Masukkan endpoint CQL untuk LindormTable. Anda tidak perlu menentukan port. Atur nama DC menjadi datacenter1.
    * Ganti 'Username' dan 'Password' dengan kredensial Anda. Default keduanya adalah root.
    */
    const client = new cassandra.Client({ contactPoints: ['ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com'], localDataCenter: 'datacenter1', credentials: { username: 'Username', password: 'Password' } });
    client.connect()
    .then(() => client.execute("CREATE KEYSPACE IF NOT EXISTS lindormtest WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '2' }"))
    .then(() => client.execute("CREATE TABLE IF NOT EXISTS lindormtest.nodejs (name text PRIMARY KEY, age int)"))
    .then(() => {
     return client.execute("INSERT INTO lindormtest.nodejs (name, age) VALUES ('lindorm', 10)");
    })
    .then(() => {
     return client.execute("SELECT name, age FROM lindormtest.nodejs WHERE name = 'lindorm' ");
    })
    .then(result => {
     const row = result.first();
     console.log('Baris yang diperoleh: ', row);
     const p = row.age;
    })
    .finally(() => client.shutdown());
                

Akses LindormTable dengan driver CQL Go

  1. Instal GoCQL.

    go get github.com/gocql/gocql
  2. Contoh berikut menunjukkan cara mengakses LindormTable.

    package main
    import (
        "fmt"
        "log"
        "github.com/gocql/gocql"
    )
    func main() {
        // Masukkan endpoint CQL untuk LindormTable. Anda tidak perlu menentukan port.
        cluster := gocql.NewCluster("ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com")
        cluster.Authenticator = gocql.PasswordAuthenticator{
            Username:"Username",
            Password: "Password",
        }
        session, _ := cluster.CreateSession()
        defer session.Close()
        // Buat keyspace.
        if err := session.Query(`CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 2}`).Exec(); err != nil {
            log.Fatal(err)
        }
        // Buat tabel.
        if err := session.Query(`CREATE TABLE ks.tb (cn1 text PRIMARY KEY, cn2 text, cn3 text)`).Exec(); err != nil {
            log.Fatal(err)
        }
        // Masukkan nilai.
        if err := session.Query(`INSERT INTO ks.tb (cn1, cn2, cn3) VALUES (?, ?, ?)`,
            "v11", "v12", "v13").Exec(); err != nil {
            log.Fatal(err)
        }
        var column1 string
        var column2 string
        if err := session.Query(`SELECT cn1, cn2 FROM ks.tb WHERE cn1 = ?`,
            "v11").Consistency(gocql.One).Scan(&column1, &column2); err != nil {
            log.Fatal(err)
        }
        fmt.Println("Semua nilai:", column1, column2)
        var column3 string
        // Iterasi melalui hasil.
        iter := session.Query(`SELECT * FROM ks.tb WHERE cn1 = ? `, "v11").Iter()
        for iter.Scan(&column1, &column2, &column3) {
            fmt.Println("Semua nilai:", column1, column2, column3)
        }
        if err := iter.Close(); err != nil {
            log.Fatal(err)
        }
    }