Application
The Application resource lets you manage AWS KinesisAnalytics Applications for processing and analyzing streaming data in real time.
Minimal Example
Section titled “Minimal Example”Create a basic KinesisAnalytics application with required properties and a common optional property.
import AWS from "alchemy/aws/control";
const kinesisAnalyticsApp = await AWS.KinesisAnalytics.Application("basicKinesisApp", { ApplicationName: "RealTimeDataAnalytics", Inputs: [ { NamePrefix: "InputStream", KinesisStreamsInput: { ResourceARN: "arn:aws:kinesis:us-west-2:123456789012:stream/MyKinesisStream", RoleARN: "arn:aws:iam::123456789012:role/KinesisAnalyticsRole" }, InputSchema: { RecordFormat: { RecordFormatType: "JSON", MappingParameters: { JSONMappingParameters: { RecordRowPath: "$" } } }, RecordColumns: [ { Name: "timestamp", SqlType: "TIMESTAMP", Mapping: "$.timestamp" }, { Name: "temperature", SqlType: "DOUBLE", Mapping: "$.temperature" } ] } } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure an application with additional properties like application description and application code.
const advancedKinesisAnalyticsApp = await AWS.KinesisAnalytics.Application("advancedKinesisApp", { ApplicationName: "AdvancedDataAnalytics", ApplicationDescription: "This application processes real-time temperature data from sensors.", ApplicationCode: ` CREATE OR REPLACE STREAM "OutputStream" AS SELECT * FROM "InputStream" WHERE temperature > 30; `, Inputs: [ { NamePrefix: "InputStream", KinesisStreamsInput: { ResourceARN: "arn:aws:kinesis:us-west-2:123456789012:stream/MyKinesisStream", RoleARN: "arn:aws:iam::123456789012:role/KinesisAnalyticsRole" }, InputSchema: { RecordFormat: { RecordFormatType: "JSON", MappingParameters: { JSONMappingParameters: { RecordRowPath: "$" } } }, RecordColumns: [ { Name: "timestamp", SqlType: "TIMESTAMP", Mapping: "$.timestamp" }, { Name: "temperature", SqlType: "DOUBLE", Mapping: "$.temperature" } ] } } ]});
Real-Time Data Processing
Section titled “Real-Time Data Processing”Create an application that processes streaming data and outputs the filtered results to another stream.
const realTimeDataApp = await AWS.KinesisAnalytics.Application("realTimeProcessingApp", { ApplicationName: "RealTimeTemperatureFilter", ApplicationDescription: "Filters out temperature readings above a threshold.", ApplicationCode: ` CREATE OR REPLACE STREAM "FilteredOutput" AS SELECT timestamp, temperature FROM "InputStream" WHERE temperature > 30; `, Inputs: [ { NamePrefix: "InputStream", KinesisStreamsInput: { ResourceARN: "arn:aws:kinesis:us-west-2:123456789012:stream/MyKinesisStream", RoleARN: "arn:aws:iam::123456789012:role/KinesisAnalyticsRole" }, InputSchema: { RecordFormat: { RecordFormatType: "JSON", MappingParameters: { JSONMappingParameters: { RecordRowPath: "$" } } }, RecordColumns: [ { Name: "timestamp", SqlType: "TIMESTAMP", Mapping: "$.timestamp" }, { Name: "temperature", SqlType: "DOUBLE", Mapping: "$.temperature" } ] } } ]});