Skip to content

Dataset ​

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

Minimal Example ​

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

ts
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"
});

Advanced Configuration ​

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

ts
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"
});

Using Late Data Rules ​

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

ts
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"
});

Tags for Resource Management ​

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

ts
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"
});