Skip to content
GitHubXDiscord

Dataset

The Dataset resource lets you manage AWS IoTAnalytics Datasets for analyzing and processing IoT data.

Create a basic IoTAnalytics dataset with required properties and a retention period.

import AWS from "alchemy/aws/control";
const basicDataset = await AWS.IoTAnalytics.Dataset("basicDataset", {
Actions: [
{
ActionType: "SELECT",
SqlQuery: "SELECT * FROM my_iot_data"
}
],
RetentionPeriod: {
NumberOfDays: 30,
Unlimited: false
},
DatasetName: "BasicDataset"
});

Configure a dataset with advanced options including content delivery rules and triggers.

const advancedDataset = await AWS.IoTAnalytics.Dataset("advancedDataset", {
Actions: [
{
ActionType: "SELECT",
SqlQuery: "SELECT * FROM my_iot_data WHERE temperature > 75"
}
],
ContentDeliveryRules: [
{
Destination: {
S3DestinationConfiguration: {
Bucket: "my-iot-data-bucket",
Key: "advanced_dataset_output.json"
}
},
RuleName: "S3DeliveryRule"
}
],
Triggers: [
{
Schedule: {
Expression: "rate(1 hour)"
},
TriggerType: "SCHEDULED"
}
],
DatasetName: "AdvancedDataset"
});

Create a dataset that applies late data rules to manage data arrival delays.

const lateDataDataset = await AWS.IoTAnalytics.Dataset("lateDataDataset", {
Actions: [
{
ActionType: "SELECT",
SqlQuery: "SELECT * FROM my_iot_data"
}
],
LateDataRules: [
{
RuleName: "LateDataRule",
Timestamp: {
ColumnName: "timestamp",
TimeOffset: {
OffsetSeconds: 3600 // 1 hour
}
},
Limit: 1000
}
],
DatasetName: "LateDataDataset"
});

Create a dataset with tags to facilitate resource management and cost tracking.

const taggedDataset = await AWS.IoTAnalytics.Dataset("taggedDataset", {
Actions: [
{
ActionType: "SELECT",
SqlQuery: "SELECT * FROM my_iot_data"
}
],
Tags: [
{
Key: "Environment",
Value: "Production"
},
{
Key: "Team",
Value: "DataScience"
}
],
DatasetName: "TaggedDataset"
});