48 releases (4 stable)

new 1.4.0 Dec 5, 2023
1.3.0 Nov 27, 2023
0.39.0 Nov 20, 2023
0.28.0 May 24, 2023
0.0.0 May 7, 2021

#2240 in Network programming

Download history 32/week @ 2023-08-17 93/week @ 2023-08-24 2/week @ 2023-08-31 41/week @ 2023-09-07 38/week @ 2023-09-14 15/week @ 2023-09-21 20/week @ 2023-09-28 27/week @ 2023-10-05 7/week @ 2023-10-12 11/week @ 2023-10-19 91/week @ 2023-10-26 31/week @ 2023-11-02 19/week @ 2023-11-09 90/week @ 2023-11-16 183/week @ 2023-11-23 271/week @ 2023-11-30

563 downloads per month


43K SLoC


IoT Analytics allows you to collect large amounts of device data, process messages, and store them. You can then query the data and run sophisticated analytics on it. IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight.

Traditional analytics and business intelligence tools are designed to process structured data. IoT data often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result the data from these devices can have significant gaps, corrupted messages, and false readings that must be cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data from external sources.

IoT Analytics automates the steps required to analyze data from IoT devices. IoT Analytics filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, or perform more complex analytics and machine learning inference. IoT Analytics includes pre-built models for common IoT use cases so you can answer questions like which devices are about to fail or which customers are at risk of abandoning their wearable devices.

Getting Started

Examples are available for many services and operations, check out the examples folder in GitHub.

The SDK provides one crate per AWS service. You must add Tokio as a dependency within your Rust project to execute asynchronous code. To add aws-sdk-iotanalytics to your project, add the following to your Cargo.toml file:

aws-config = { version = "1.0.3", features = ["behavior-version-latest"] }
aws-sdk-iotanalytics = "1.4.0"
tokio = { version = "1", features = ["full"] }

Then in code, a client can be created with the following:

use aws_sdk_iotanalytics as iotanalytics;

async fn main() -> Result<(), iotanalytics::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_iotanalytics::Client::new(&config);

    // ... make some calls with the client


See the client documentation for information on what calls can be made, and the inputs and outputs for each of those calls.

Using the SDK

Until the SDK is released, we will be adding information about using the SDK to the Developer Guide. Feel free to suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help


This project is licensed under the Apache-2.0 License.


~299K SLoC