JS example

const thingShadow = require('./thing');
const isUndefined = require('./common/lib/is-undefined');
const cmdLineProcess = require('./examples/lib/cmdline');
function processTest( args, argsRemaining ){
if(isUndefined( args.thingName )){
console.log( 'thing name must be specified with --thing-name');
process.exit(1);
}
const thingShadows = thingShadow({
keyPath: args.privateKey,
cerPath: args.clientCert,
caPath: args.caCert,
clientId: args.clientId,
region:args.region,
reconnectPeriod: args.recconectPeriod,
});
thingShadows.on('connect',function(){
console.log('connected to things instance, registering thing name');
thingShadows.register( args.thingName, { persistentSubscribe: true });
});
thingShadows.on('close', function() {
thingShadows.unregister( args.thingName );
console.log('close');
});
thingShadow.on('reconnect', function() {
thingShadows.register( args.thingName, { persistentSubscribe: true });
console.log('offline');
});
thingShadows.on('error', function(error){
console.log('error', error);
});
thingShadows.on('delta', function(thingName, stateObject){
console.log('received delta on '+thingName+':'+
JSON.stringify(stateObject));
thingShadows.update( thingName, { state: { reported: stateObject.state }});
});
thingShadows.on('timeout', function(thingName, clientToken){
console.warn('timeout: '+thingName);
});
}

module.exports = cmLineProcess;
if (require.main === module){
cmdLineProcess('connect to the AWS IoT service and perform thing shadow sample',
    process.argv.slice(2), processTest, '', true)
}