How to use cassandra-driver - 10 common examples

To help you get started, we’ve selected a few cassandra-driver examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github godaddy / node-priam / test / unit / driver.basic.tests.js View on Github external
it('sets default pool configuration', function () {
      // arrange
      const config = _.extend({}, getDefaultConfig());
      const configCopy = _.extend({}, config);
      const consistencyLevel = cql.types.consistencies.one;

      // act
      const instance = new Driver({ config: config });

      // assert
      assert.deepEqual(instance.poolConfig.contactPoints, configCopy.hosts, 'hosts should be passed through');
      assert.strictEqual(instance.poolConfig.keyspace, configCopy.keyspace, 'keyspace should be passed through');
      assert.strictEqual(instance.poolConfig.getAConnectionTimeout, configCopy.timeout, 'timeout should be passed through');
      assert.strictEqual(instance.poolConfig.version, configCopy.cqlVersion, 'cqlVersion should be passed through');
      assert.strictEqual(instance.poolConfig.limit, configCopy.limit, 'limit should be passed through');
      assert.strictEqual(instance.poolConfig.consistencyLevel, consistencyLevel, 'consistencyLevel should default to ONE');
    });
github compose-grandtour / node / example-scylla / server.js View on Github external
const url = require("url");
let myURL = url.parse(connectionString);
let auth = myURL.auth;
let splitAuth = auth.split(":");
let username = splitAuth[0];
let password = splitAuth[1];
let sslopts = myURL.protocol === "https:" ? {} : null;

// get contactPoints for the connection
let translator = new compose.ComposeAddressTranslator();
translator.setMap(mapList);

let authProvider = new cassandra.auth.PlainTextAuthProvider(username, password);
let uuid = require("uuid");

let client = new cassandra.Client({
    contactPoints: translator.getContactPoints(),
    policies: {
        addressResolution: translator
    },
    authProvider: authProvider,
    sslOptions: sslopts
});

// Add a word to the database
function addWord(word, definition) {
    return new Promise(function(resolve, reject) {
        client.execute(
            "INSERT INTO grand_tour.words(my_table_id, word, definition) VALUES(?,?,?)", [uuid.v4(), word, definition], { prepare: true },
            function(error, result) {
                if (error) {
                    console.log(error);
github mengwangk / myInvestor / myInvestor-backend / scripts / scraper / GoogleFinance / insertStocks.js View on Github external
console.error("Please pass in the stock exchange symbol file");
    process.exit(1);
}
const filePath = process.argv[2];
try {
    var stats = fs.statSync(filePath);
    if (!stats.isFile()) {
        console.error('file not exist');
        process.exit(1);
    }
    // Read the JSON file
    var stocks = JSON.parse(fs.readFileSync(filePath, "utf-8"));
    var exchangeName = path.basename(filePath).split('.')[0];
    //var exchangeId = '';

    const client = new cassandra.Client({ contactPoints: [CASSANDRA_HOST], keyspace: CASSANDRA_KEYSPACE });
    async.series([
        function connect(next) {
            console.log('Connecting to Cassandra');
            client.connect(next);
        },
        /*
        function getExchangeId(next) {
            const query = 'SELECT exchange_id, exchange_name FROM exchange WHERE exchange_name = ?';
            client.execute(query, [exchangeName], { prepare: true }, function (err, result) {
                if (err) return next(err);
                var row = result.first();
                if (row !== null)
                    exchangeId = row.exchange_id;
                next();
            });
        },
github godaddy / node-priam / lib / driver.js View on Github external
async _createConnectionPool(poolConfig, waitForConnect) {
    const openRequestId = uuid.v4();

    this.logger.debug('priam.Driver: Creating new pool', {
      poolConfig: {
        keyspace: poolConfig.keyspace,
        contactPoints: poolConfig.contactPoints
      }
    });

    const pool = new cqlDriver.Client(this._getDataStaxPoolConfig(poolConfig));
    pool.storeConfig = poolConfig;
    pool.waiters = [];
    pool.isReady = false;
    pool.on('log', (level, message, data) => {
      this.emit('connectionLogged', level, message, data);
      // unrecoverable errors will yield error on execution, so treat these as warnings since they'll be retried
      // treat everything else as debug information.
      const logMethod = (level === 'error' || level === 'warning') ? 'warn' : 'debug';

      const metaData = {
        datastaxLogLevel: level
      };
      if (typeof data === 'string') {
        message += `: ${data}`;
      } else {
        metaData.data = data;
github Sunbird-Ed / SunbirdEd-portal / src / migration / migrate.js View on Github external
// Form service migration script
// Accepted arguments
// 1. contactPoints: IP with port of DB
// 2. username: username for DB // optional
// 3. password: password for DB // optional
// example: node migration.js 11.7.1.7:9200 username password

const cassandra = require('cassandra-driver');
let cassandraClientOptions = { contactPoints: [process.argv[2]] };
if(process.argv[3] && process.argv[4]){
  cassandraClientOptions.authProvider = new cassandra.auth.PlainTextAuthProvider(process.argv[3], process.argv[4]);
}
console.log('connecting to DB with', process.argv[2], process.argv[3], process.argv[4]);
const client = new cassandra.Client(cassandraClientOptions);

let transformed_data = [];
let dest_obj = {
  root_org: undefined,
  framework: undefined,
  type: undefined,
  subtype: undefined,
  component: undefined,
  action: undefined,
  created: new Date(),
  last_modified: undefined,
  data: undefined
}
github Juniper / contrail-web-core / webroot / reports / udd / api / udd.api.js View on Github external
/* Copyright (c) 2016 Juniper Networks, Inc. All rights reserved. */

var _ = require("lodash");
var fs = require('fs')
var commonUtils = require(process.mainModule.exports.corePath + "/src/serverroot/utils/common.utils");
var configUtils = require(process.mainModule.exports.corePath +
        "/src/serverroot/common/config.utils");
var cassandra = require("cassandra-driver");

var uddKeyspace = "config_webui";
var tableName = "user_widgets";
var config = configUtils.getConfig();
var cass_options = { contactPoints: config.cassandra.server_ips, keyspace: "system" };
if (config.cassandra.username && config.cassandra.password) {
    var cAuthProvider = new cassandra.auth.PlainTextAuthProvider(config.cassandra.username, config.cassandra.password);
    cass_options.authProvider = cAuthProvider;
}
if (config.cassandra.use_ssl) {
    cass_options.sslOptions = { rejectUnauthorized: false };
    if ('ca_certs' in config.cassandra && config.cassandra.ca_certs) {
        cass_options.sslOptions.ca = [ fs.readFileSync(config.cassandra.ca_certs) ];
    }
}
var client = new cassandra.Client(cass_options);
client.execute("SELECT keyspace_name FROM system_schema.keyspaces;", function(err, result) {
    if (err) {
        console.error(err);
        return;
    }
    if (_.isEmpty(_.filter(result.rows, ["keyspace_name", uddKeyspace]))) {
        // if (client.metadata.keyspaces[uddKeyspace]) {
github strongloop / loopback-connector-cassandra / lib / cassandra.js View on Github external
ret = value;
  }
  return ret;
}

function tupleFromArray(value) {
  var ret = null;
  if (Array.isArray(value)) {
    ret = originalTupleFromArray(value);
  } else {
    ret = value;
  }
  return ret;
}

var originalFromString = cassandra.types.Uuid.fromString;
var originalTimeFromString = cassandra.types.TimeUuid.fromString;
var originalTupleFromArray = cassandra.types.Tuple.fromArray;
cassandra.types.Uuid.fromString = uuidFromString;
cassandra.types.TimeUuid.fromString = timeUuidFromString;
cassandra.types.Tuple.fromArray = tupleFromArray;

/**
 * @module loopback-connector-cassandra
 *
 * Initialize the Cassandra connector against the given data source
 *
 * @param {DataSource} dataSource The loopback-datasource-juggler dataSource
 * @param {Function} [callback] The callback function
 */
exports.initialize = function initializeDataSource(dataSource, callback) {
  dataSource.driver = cassandra; // Provide access to the native driver
github wikimedia / restbase-mod-table-cassandra / lib / db.js View on Github external
"use strict";

var P = require('bluebird');
var cass = require('cassandra-driver');
var TimeUuid = cass.types.TimeUuid;
var extend = require('extend');
var dbu = require('./dbutils');
var cassID = dbu.cassID;
var secIndexes = require('./secondaryIndexes');


function DB (client, options) {
    this.conf = options.conf;
    this.log = options.log;

    this.defaultConsistency = cass.types.consistencies[this.conf.defaultConsistency]
        || cass.types.consistencies.one;

    // cassandra client
    this.client = client;
github kartotherian / kartotherian / packages / cassandra / CassandraStore.js View on Github external
self.createIfMissing = !!params.createIfMissing;
        self.table = params.table || 'tiles';
        self.repclass = params.repclass || 'SimpleStrategy';
        self.repfactor = typeof params.repfactor === 'undefined' ? 3 : parseInt(params.repfactor);
        let dw = params.durablewrite;
        self.durablewrite = (typeof dw === 'undefined' || (dw && dw !== 'false' && dw !== '0')) ? 'true' : 'false';
        self.minzoom = typeof params.minzoom === 'undefined' ? 0 : parseInt(params.minzoom);
        self.maxzoom = typeof params.maxzoom === 'undefined' ? 22 : parseInt(params.maxzoom);
        self.blocksize = typeof params.blocksize === 'undefined' ? 32768 : parseInt(params.blocksize);
        self.maxBatchSize = typeof params.maxBatchSize === 'undefined' ? undefined : parseInt(params.maxBatchSize);
        self.setLastModified = !!params.setLastModified;
        self.copyInfoFrom = params.copyInfoFrom;

        let clientOpts = {contactPoints: self.contactPoints};
        if (params.username || params.password) {
            clientOpts.authProvider = new cassandra.auth.PlainTextAuthProvider(params.username, params.password);
            // make sure not to expose it in the error reporting
            delete params.password;
        }
        self.client = new cassandra.Client(clientOpts);
        return self.client.connectAsync();
    }).then(() => {
        if (!self.createIfMissing) {
github CatalystCode / project-fortis / project-fortis-services / src / clients / cassandra / CassandraConnector.js View on Github external
},
  protocolOptions: {
    port: cassandraPort,
  },
  socketOptions: {
    connectTimeout: 10000, // milliseconds
    readTimeout: 60000 // milliseconds
  },
  queryOptions: {
    autoPage: true,
    prepare: true,
    fetchSize: fetchSize
  }
};
if (cassandraUsername && cassandraPassword) {
  options.authProvider = new cassandra.auth.PlainTextAuthProvider(cassandraUsername, cassandraPassword);
}
const client = new cassandra.Client(options);

const status = {
  isInitialized: false
};

/**
 * @param {Array<{query: string, params: Array}>} mutations
 * @returns {Promise}
 */
function executeBatchMutations(mutations) {
  return new Promise((resolve, reject) => {
    if (!client) {
      loggingClient.logCassandraClientUndefined();
      return reject('No DB client available');