FuotaTask ​
The FuotaTask resource lets you manage AWS IoTWireless FuotaTasks for firmware updates over the air (FUOTA) to your devices.
Minimal Example ​
Create a basic FuotaTask with required properties and a common optional property.
ts
import AWS from "alchemy/aws/control";
const fuotaTask = await AWS.IoTWireless.FuotaTask("myFuotaTask", {
firmwareUpdateImage: "s3://my-bucket/my-firmware-image.bin",
firmwareUpdateRole: "arn:aws:iam::123456789012:role/myFirmwareUpdateRole",
loRaWAN: {
fPort: 1,
targetDevices: {
deviceIds: ["deviceId1", "deviceId2"]
}
},
name: "MyFuotaTask",
description: "This is a sample FuotaTask for firmware updates"
});
Advanced Configuration ​
Configure a FuotaTask with additional options including associating a multicast group.
ts
const advancedFuotaTask = await AWS.IoTWireless.FuotaTask("advancedFuotaTask", {
firmwareUpdateImage: "s3://my-bucket/my-firmware-image-v2.bin",
firmwareUpdateRole: "arn:aws:iam::123456789012:role/myFirmwareUpdateRole",
loRaWAN: {
fPort: 1,
targetDevices: {
deviceIds: ["deviceId1", "deviceId2", "deviceId3"]
}
},
associateMulticastGroup: "my-multicast-group-id",
description: "Advanced FuotaTask with multicast group association"
});
Disassociating Wireless Devices ​
Create a FuotaTask that disassociates a specific wireless device.
ts
const disassociateDeviceFuotaTask = await AWS.IoTWireless.FuotaTask("disassociateDeviceFuotaTask", {
firmwareUpdateImage: "s3://my-bucket/my-firmware-image-v3.bin",
firmwareUpdateRole: "arn:aws:iam::123456789012:role/myFirmwareUpdateRole",
loRaWAN: {
fPort: 1,
targetDevices: {
deviceIds: ["deviceId4"]
}
},
disassociateWirelessDevice: "deviceId4",
name: "FuotaTaskForDisassociation",
description: "This FuotaTask disassociates a specific device"
});
Tagging Resources ​
Create a FuotaTask with tags for better resource management.
ts
const taggedFuotaTask = await AWS.IoTWireless.FuotaTask("taggedFuotaTask", {
firmwareUpdateImage: "s3://my-bucket/my-firmware-image-v4.bin",
firmwareUpdateRole: "arn:aws:iam::123456789012:role/myFirmwareUpdateRole",
loRaWAN: {
fPort: 1,
targetDevices: {
deviceIds: ["deviceId5"]
}
},
tags: [
{ key: "Environment", value: "Production" },
{ key: "Project", value: "IoTFirmwareUpdates" }
],
name: "TaggedFuotaTask",
description: "FuotaTask with tags for resource management"
});