Ready to get started?

Learn more about CData Cloud Hub or sign up for a free trial:

Learn More

Query FedEx Data as a MySQL Database in Node.js

Execute MySQL queries against FedEx data from Node.js.

You can use the CData Cloud Hub to query FedEx data through a MySQL interface. Follow the procedure below to create a virtual database for FedEx in the Cloud Hub and start querying using Node.js.

The CData Cloud Hub provides a pure MySQL, cloud-to-cloud interface for FedEx, allowing you to easily query live FedEx data in Node.js — without replicating the data to a natively supported database. As you query data in Node.js, the CData Cloud Hub pushes all supported SQL operations (filters, JOINs, etc) directly to FedEx, leveraging server-side processing to quickly return FedEx data.

Create a Virtual MySQL Database for FedEx Data

You can use any MySQL client to connect to the CData Cloud Hub and create virtual databases.

  1. Connect to the CData Cloud Hub:
    mysql --host myinstance.cdatacloud.net --user admin --password
    
  2. Once authenticated, create the virtual database for FedEx:
    mysql> CREATE DATABASE fedexdb
        -> DRIVER = "FedEx",
        -> DBURL = "Server='https://gatewaybeta.fedex.com:443/xml';DeveloperKey='alsdkfjpqoewiru';Password='zxczxqqtyiuowkdlkn';AccountNumber='110371337';MeterNumber='240134349';
    PrintLabelLocation='C:\users\username\documents\mylabels';CacheProvider='org.sqlite.JDBC';CacheConnection='jdbc:sqlite:C:\users\username\documents\fedexcache.db';";
    

With the virtual database created, you are ready to connect to FedEx data from any MySQL client.

Query FedEx from Node.js

The following example shows how to define a connection and execute queries to FedEx with the MySQL module. You will need the following information:

  • Host name, or address, and port: The address of your instance of the Cloud Hub (myinstance.cdatacloud.net) and the port (3306)
  • Username and password: The username and password of a user you authorized on the Cloud Hub
  • Database name: The database you configured for FedEx (fedexdb)

Connect to FedEx data and start executing queries with the code below:

var mysql      = require('mysql');
var fs         = require('fs');
var connection = mysql.createConnection({
  host     : 'myinstance.cdatacloud.net',
  database : 'fedexdb',
  port	   : '3306',
  user     : 'admin',
  password : 'password',
  ssl      : {
    ca : fs.readFileSync('C:/certs/myCA.pem')
  }
});
connection.connect();
connection.query('SELECT * FROM Senders', function(err, rows, fields) {
  if (err) throw err;
  console.log(rows);
});

connection.end();