Ready to get started?

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

Learn More

Query Adobe Analytics Data as a MySQL Database in Node.js

Execute MySQL queries against Adobe Analytics data from Node.js.

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

The CData Cloud Hub provides a pure MySQL, cloud-to-cloud interface for Adobe Analytics, allowing you to easily query live Adobe Analytics 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 Adobe Analytics, leveraging server-side processing to quickly return Adobe Analytics data.

Create a Virtual MySQL Database for Adobe Analytics Data

CData Cloud Hub uses a straightforward, point-and-click interface to connect to data sources and generate APIs.

  1. Login to Cloud Hub and click Databases.
  2. Select "Adobe Analytics" from Available Data Sources.
  3. Enter the necessary authentication properties to connect to Adobe Analytics.

    Adobe Analytics uses the OAuth authentication standard. To authenticate using OAuth, you will need to create an app to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties. See the "Getting Started" section of the help documentation for a guide.

    Retrieving GlobalCompanyId

    GlobalCompanyId is a required connection property. If you do not know your Global Company ID, you can find it in the request URL for the users/me endpoint on the Swagger UI. After logging into the Swagger UI Url, expand the users endpoint and then click the GET users/me button. Click the Try it out and Execute buttons. Note your Global Company ID shown in the Request URL immediately preceding the users/me endpoint.

    Retrieving Report Suite Id

    Report Suite ID (RSID) is also a required connection property. In the Adobe Analytics UI, navigate to Admin -> Report Suites and you will get a list of your report suites along with their identifiers next to the name.

    After setting the GlobalCompanyId, RSID and OAuth connection properties, you are ready to connect to Adobe Analytics.

  4. Click Test Database.
  5. Click Privileges -> Add and add the new user (or an existing user) with the appropriate permissions.

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

Query Adobe Analytics from Node.js

The following example shows how to define a connection and execute queries to Adobe Analytics 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 Adobe Analytics (adobeanalyticsdb)

Connect to Adobe Analytics 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 : 'adobeanalyticsdb',
  port	   : '3306',
  user     : 'admin',
  password : 'password',
  ssl      : {
    ca : fs.readFileSync('C:/certs/myCA.pem')
  }
});
connection.connect();
connection.query('SELECT * FROM AdsReport', function(err, rows, fields) {
  if (err) throw err;
  console.log(rows);
});

connection.end();