The aws-greengrass-component-sdk is a small-footprint library providing APIs
for making AWS IoT Greengrass IPC calls in C, Rust, and C++. It enables
Greengrass components to interact with the Greengrass runtime (Greengrass
Nucleus or Greeengrass Nucleus Lite) with less binary overhead. Components can
use this SDK as an alternative to the aws-iot-device-sdk-cpp-v2 or other
language-specific device SDKs.
This library is in pre-release status. We encourage users to test it and report any bugs or missing features.
For development purposes, it is recommended to pin your usage to a specific commit or tag.
For building the SDK and samples for C and/or C++, see the build guide.
For Rust, the rust subdirectory provides a Rust crate.
The following Greengrass v2 IPC operations are currently supported by this SDK:
- PublishToTopic
- SubscribeToTopic
- PublishToIoTCore
- SubscribeToIoTCore
- UpdateState
- GetConfiguration
- UpdateConfiguration
- SubscribeToConfigurationUpdate
- RestartComponent
For deployment instructions, see the samples deployment guide.
C samples:
- IoT Core MQTT Pub/Sub
- Update State
- Configuration Operations
- Subscribe to Configuration Update
- Restart Component
Rust samples (use same recipe as corresponding C sample):
- IoT Core MQTT Pub/Sub
- Update State
- Configuration Operations
- Subscribe To Configuration Update
- Restart Component
C++ samples:
See CONTRIBUTING for more information.
This project is licensed under the Apache-2.0 License.