Skip to content

Pipeline ​

The Pipeline resource lets you create and manage AWS IoTAnalytics Pipelines for processing and analyzing IoT data streams.

Minimal Example ​

Create a basic IoTAnalytics Pipeline with a name and a single activity.

ts
import AWS from "alchemy/aws/control";

const minimalPipeline = await AWS.IoTAnalytics.Pipeline("basicPipeline", {
  PipelineName: "BasicPipeline",
  PipelineActivities: [
    {
      Channel: {
        ChannelName: "myChannel",
        Next: "myActivity"
      }
    }
  ],
  Tags: [
    {
      Key: "Environment",
      Value: "Development"
    }
  ]
});

Advanced Configuration ​

Configure a pipeline with multiple activities and more advanced settings like tags.

ts
const advancedPipeline = await AWS.IoTAnalytics.Pipeline("advancedPipeline", {
  PipelineName: "AdvancedPipeline",
  PipelineActivities: [
    {
      Channel: {
        ChannelName: "myChannel",
        Next: "dataProcessingActivity"
      }
    },
    {
      Math: {
        Name: "calculateAverage",
        Attribute: "temperature",
        Next: "storeInDatastore"
      }
    },
    {
      Datastore: {
        DatastoreName: "myDatastore",
        Next: null
      }
    }
  ],
  Tags: [
    {
      Key: "Project",
      Value: "IoTAnalytics"
    },
    {
      Key: "Owner",
      Value: "DataTeam"
    }
  ]
});

Real-time Data Processing ​

Set up a pipeline for real-time data processing with a filtering activity.

ts
const realTimePipeline = await AWS.IoTAnalytics.Pipeline("realTimePipeline", {
  PipelineName: "RealTimeDataProcessing",
  PipelineActivities: [
    {
      Filter: {
        Name: "filterTemperature",
        Filter: "temperature > 20",
        Next: "storeFilteredData"
      }
    },
    {
      Datastore: {
        DatastoreName: "filteredDataStore",
        Next: null
      }
    }
  ]
});

Complex Data Transformation ​

Create a pipeline that includes multiple transformation activities for complex data handling.

ts
const complexPipeline = await AWS.IoTAnalytics.Pipeline("complexPipeline", {
  PipelineName: "ComplexDataTransformation",
  PipelineActivities: [
    {
      Math: {
        Name: "calculateHumidityIndex",
        Attribute: "humidity",
        Next: "aggregateData"
      }
    },
    {
      Aggregate: {
        Name: "aggregateTemperature",
        Attribute: "temperature",
        AggregationType: "AVG",
        Next: null
      }
    }
  ]
});