ThingGroup ​
The ThingGroup resource allows you to manage AWS IoT ThingGroups which are collections of AWS IoT Things. ThingGroups help you organize and manage your IoT devices easily.
Minimal Example ​
Create a basic ThingGroup with a name and optional parent group.
ts
import AWS from "alchemy/aws/control";
const basicThingGroup = await AWS.IoT.ThingGroup("basicThingGroup", {
ThingGroupName: "HomeDevices",
ParentGroupName: "Devices",
Tags: [{ Key: "Environment", Value: "Production" }]
});
Advanced Configuration ​
Configure a ThingGroup with properties for more complex use cases, such as setting custom properties.
ts
const advancedThingGroup = await AWS.IoT.ThingGroup("advancedThingGroup", {
ThingGroupName: "OfficeDevices",
ThingGroupProperties: {
AttributePayload: {
Attributes: {
Department: "IT",
Location: "Main Office"
},
Merge: true
}
},
Tags: [
{ Key: "Project", Value: "IoTDeployment" },
{ Key: "Owner", Value: "TeamAlpha" }
]
});
Query String Usage ​
Create a ThingGroup that includes a query string to filter devices.
ts
const queryStringThingGroup = await AWS.IoT.ThingGroup("queryStringThingGroup", {
ThingGroupName: "FilteredDevices",
QueryString: "attribute.department = 'IT'",
Tags: [{ Key: "Status", Value: "Active" }]
});
Adoption of Existing Resources ​
Create a ThingGroup and adopt an existing resource if it already exists.
ts
const adoptedThingGroup = await AWS.IoT.ThingGroup("adoptedThingGroup", {
ThingGroupName: "LegacyDevices",
adopt: true // If true, adopts the existing resource instead of failing
});