AWS IoT Things Graph Documentation

AWS IoT Things Graph is a service that helps you visually connect different devices and web services to build IoT applications.

Key Features

Models

AWS IoT Things Graph helps you build IoT applications faster by reducing the time spent understanding low-level device details and writing code to make devices and web services work together. AWS IoT Things Graph makes it easy to work with devices and web services by allowing you to represent them as models. A model is an abstraction that represents a device as a set of actions (inputs), events (outputs), and states (attributes). Models separate the device interface from its underlying implementation. For example, a switch can be represented as a set of attributes (status, dimmable), events (daylight saving time ends), and actions (turn on).

Model Repository

AWS IoT Things Graph makes it easy to reuse models so you don’t need to duplicate code for every IoT application deployment. You can use the model editor in the AWS IoT Things Graph console to build your own model using AWS IoT Things Graph's GraphQL-based schema modeling language, or choose from models for common devices such as light switches and temperature sensors. Once created, models may be saved in your model repository where they can be accessed and reused across your applications. As a result, you get reusable building blocks for your IoT applications.

Mappings Library

AWS IoT Things Graph is designed to eliminate the need to write code to convert the output of one device into the input of another using a mapping library. For example, a ZigBee based motion sensor cannot talk to a Z-Wave based camera due to differences in device details such as APIs, protocols, and message syntax. Mappings are designed to transform low-level device details from one device into a format understood by another device, allowing them to interact without needing any software changes. AWS IoT Things Graph’s built-in mapping library provides hundreds of common concepts for common IoT applications in industrial and the connected home, such as brightness, color, and volume, or you can build your own.

Workflows

AWS IoT Things Graph simplifies application development by providing a drag-and-drop interface in the AWS IoT Things Graph console. In the drag-and-drop interface, you can visually build applications by connecting models, defining interactions between them, and building a workflow. Workflows are made up of flows, which consists of multiple things (devices and services) connected in a sequence of steps. The order of the steps can be changed, and new devices and business logic can be added to evolve an application without revising the entire IoT application. Workflows are designed to be triggered by telemetry from a device. Once triggered, AWS IoT Things Graph is designed to execute each step of the workflow. AWS IoT Things Graph is also designed to track the state of each step and retry if something goes wrong.

Run at the Edge

AWS IoT Things Graph applications are designed to run in the AWS Cloud or at the edge, such as on AWS IoT Greengrass-enabled devices, so they can respond to local events quickly. AWS IoT Things Graph bundles models along with the run-time, and is designed to push it to your IoT Greengrass device where it listens to messages and coordinates interactions.

Application Monitoring

AWS IoT Things Graph gives you visibility into how your application is performing so you tune your application and fix any defects. AWS IoT Things Graph is designed to emit success, failure, and execution time metrics so you can monitor and manage your application from the console. AWS IoT Things Graph is designed to store the IoT application execution history in a data store, and expose APIs so you know exactly what happened in your application.

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.