azure-iot-digitaltwins-service

v1.0.0-preview.3
Azure IoT Digital Twins Preview
Azure IoT Digital Twins

Azure IoT Digital Twins Service Client Library

PREVIEW - WILL LIKELY HAVE BREAKING CHANGES This client library lets you connect to your Azure IoT Hub and manage your Digital Twins. It complements the azure-iothub package that covers the initial set of Azure IoT Hub APIs (identity registry, service client, etc)

The Azure IoT Digital Twins Service SDK for Node.js helps you build applications that interact with your twin enabled devices and manage their twin document.

npm version

Prerequisites

You need to install the Node.js JavaScript runtime environment to run the Azure IoT JavaScript Service Client SDK on your platform. To check if Node.js supports your platform (OS), verify that an install package is available on the Node.js download page.

npm is a command-line package manager that is installed with Node.js is installed, and will be used to install Azure IoT node.js client side SDK.

Installation

npm install azure-iot-digitaltwins-service@pnp-refresh to get the latest version.

Features

  • Get the twin of an existing device
  • Get a single interface instance of an existing device digital twin
  • Get a model from the Model Repository
  • Update digital twin of an existing device
  • Update a single property of an existing digital twin
  • Invoke a command on a device

How to use the Azure IoT service SDK for Node.js

Once you have installed the package as indicated above, you can start using the features of the Digital Twins Service SDK in your code. Below is a code snippet showing how to create a Service Client and get the twin document of a device:

Note that for this sample to work, you will need to setup your IoT hub and retrieve credentials for the service app.

const DigitalTwinServiceClient = require('azure-iot-digitaltwins-service').DigitalTwinServiceClient;

const deviceId = '<DEVICE_ID_GOES_HERE>';
const iotHubConnectionString = '<IOTHUB_CONNECTION_STRING_GOES_HERE>';

// Create digital twin service client
const credentials = new IoTHubTokenCredentials(iotHubConnectionString);
const digitalTwinServiceClient = new DigitalTwinServiceClient(credentials);

// Get digital twin
const digitalTwin = await digitalTwinServiceClient.getDigitalTwin(deviceId);

// Print device capabilities
console.log(JSON.stringify(digitalTwin, null, 2));

// List interfaces by name
for (const componentName in digitalTwin.interfaces) {
  if (digitalTwin.interfaces.hasOwnProperty(componentName)) {
    console.log(JSON.stringify(digitalTwin.interfaces[componentName]));
  }
}

Check out the samples for details on the various features of the Service SDK

Read more

Directory structure

Digital Twins Service SDK folders:

/digitaltwins/service/devdoc

Development requirements documentation

/digitaltwins/service/src

Code for the library

digitaltwins/samples/service

Set of simple samples showing how to use the features of the Digital Twin Service SDK

/digitaltwins/service/test

Test files

Metadata

  • MIT
  • Whatever
  • Microsoft Corp.
  • released 2/3/2020

Downloads