Skip to main content

Ionburst Node.js SDK

The Ionburst SDK for Node.js is available now on npm.

Repository#

The source code for the Ionburst Node.js SDK is available here.

NPM#

ionburst-sdk-javascript

Node.js Configuration#

Further configuration for the Ionburst Node.js SDK can be specified in a config.json file.

"Ionburst": {
"Profile": "example_profile",
"IonburstUri": "https://api.example.ionburst.cloud/",
"TraceCredentialsFile": "OFF"
}
  • Profile specifies the configuration to use from the Ionburst credentials file.
  • IonburstUri specifies the Ionburst API endpoint to use.
  • TraceCredentialsFile is a debug setting that can be used to trace how the SDK picks up credentials. This should not be set to ON in production.

Usage#

Creating a Client#

An Ionburst client can be created by passing an Ionburst API URI directly. Doing so will override any configured value:

const Ionburst = require('ionburst-sdk')
var ionburst = Ionburst("https://api.example.ionburst.cloud/");

If the value is defined in configuration then the client creation does not require parameters:

const Ionburst = require('ionburst-sdk')
var ionburst = Ionburst();

Classifications#

A list of available Ionburst classifications can be retrieved like so:

const Ionburst = require('ionburst-sdk')
var ionburst = Ionburst();

Upload Data#

Upload with callback:

ionburst.put({
id: '...',
data: '...',
classstr: '...' // Not Required
}, function(err, data) {
...
});

Upload with async/await:

let data = await ionburst.putAsync({
id: '...',
data: '...',
classstr: '...' // Not Required
});

Download Data#

Download with callback:

ionburst.get(id, function(err, data) {
...
});

Download with async/await:

let data = await ionburst.getAsync(id);

Delete Data#

ionburst.delete(id, function(err, data) {
...
});

Delete with async/await:

let data = await ionburst.deleteAsync(id);

Upload Data (Deferred)#

Deferred upload with callback:

ionburst.startDeferredAction({
action: 'PUT',
id: '...',
data: '...',
classstr: '...' // Not Required
}, function(err, token) {
...
});

Deferred upload with async/await:

let token = await ionburst.startDeferredActionAsync({
action: 'PUT',
id: '...',
data: '...',
classstr: '...' // Not Required
});

Download Data (Deferred)#

ionburst.startDeferredAction({
action: 'GET',
id: '...'
}, function(err, token) {
...
});

Deferred download with async/await:

let token = await ionburst.startDeferredActionAsync({
action: 'GET',
id: '...'
});

Check Deferred Request#

Check deferred status with callback:

ionburst.checkDeferred(token, function(err, token) {
...
});

Check deferred status with async/await:

let result = await ionburst.fetch(token);

Fetch Data (Deferred)#

Fetch data with callback:

ionburst.fetch(token, function(err, result) {
...
});

Fetch data with async/await:

let result = await ionburst.fetchAsync(token);