77 releases (33 stable)

new 1.34.0 Jun 20, 2024
1.29.0 May 29, 2024
1.18.0 Mar 26, 2024
1.9.0 Dec 21, 2023
0.0.0 May 7, 2021

#2346 in Network programming

Download history 52/week @ 2024-02-29 83/week @ 2024-03-07 218/week @ 2024-03-14 110/week @ 2024-03-21 93/week @ 2024-03-28 175/week @ 2024-04-04 122/week @ 2024-04-11 105/week @ 2024-04-18 78/week @ 2024-04-25 195/week @ 2024-05-02 301/week @ 2024-05-09 92/week @ 2024-05-16 249/week @ 2024-05-23 292/week @ 2024-05-30 347/week @ 2024-06-06 390/week @ 2024-06-13

1,332 downloads per month
Used in aws-greengrass-nucleus


37K SLoC


IoT Greengrass brings local compute, messaging, data management, sync, and ML inference capabilities to edge devices. This enables devices to collect and analyze data closer to the source of information, react autonomously to local events, and communicate securely with each other on local networks. Local devices can also communicate securely with Amazon Web Services IoT Core and export IoT data to the Amazon Web Services Cloud. IoT Greengrass developers can use Lambda functions and components to create and deploy applications to fleets of edge devices for local operation.

IoT Greengrass Version 2 provides a new major version of the IoT Greengrass Core software, new APIs, and a new console. Use this API reference to learn how to use the IoT Greengrass V2 API operations to manage components, manage deployments, and core devices.

For more information, see What is IoT Greengrass? in the IoT Greengrass V2 Developer Guide.

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-greengrassv2 to your project, add the following to your Cargo.toml file:

aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-greengrassv2 = "1.34.0"
tokio = { version = "1", features = ["full"] }

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

use aws_sdk_greengrassv2 as greengrassv2;

async fn main() -> Result<(), greengrassv2::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_greengrassv2::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.


~273K SLoC