Published
JavaScript SDK for data deployment
By acckiygerman, anuveyatsu
Here we explain how you can use JavaScript SDK for data deployment purposes. If you need a detailed step-by-step tutorial, please, go to this article:
https://datahub.io/docs/tutorials/js-sdk-tutorial
Prerequisites
-
You need to have NodeJS (
>= 7.6
) and NPM. -
Installed
datahub-client
anddata.js
NPM packages:npm install datahub-client data.js --save
Example of usage
Following code snippet is a working example for basic usage. It uses credentials stored in ~/.config/datahub/config.json
, which is created when you login using the CLI tool.
const {DataHub, config, authenticate} = require('datahub-client') const {Dataset} = require('data.js') async function pushDataset(datasetPath) { // First, authenticate user const apiUrl = config.get('api') const token = config.get('token') const response = await authenticate(apiUrl, token) if (!response.authenticated) { console.error('Your credentials expired or missing.') return } // Load dataset that we want to push const dataset = await Dataset.load(datasetPath) // Create an instance of the DataHub class, using the data from the user config const configs = { apiUrl, token, ownerid: config.get('profile') ? config.get('profile').id : config.get('id') } const datahub = new DataHub(configs) // Now use the datahub instance to push the data const res = await datahub.push(dataset, {findability: 'unlisted'}) console.log(res) } pushDataset('path/to/dataset')
This is an example of correct console output:
{ dataset_id: 'username/finance-vix', errors: [], flow_id: 'username/finance-vix/1', success: true }
That is all needed to get your dataset deployed in DataHub!