ApplicationOutput ​
The ApplicationOutput resource allows you to manage AWS KinesisAnalyticsV2 ApplicationOutputs for your streaming data applications. This resource is essential for defining how your application will output processed data to various destinations.
Minimal Example ​
Create a basic Kinesis Analytics V2 ApplicationOutput with required properties:
ts
import AWS from "alchemy/aws/control";
const applicationOutput = await AWS.KinesisAnalyticsV2.ApplicationOutput("basicOutput", {
ApplicationName: "MyKinesisApp",
Output: {
Name: "MyOutputStream",
DestinationSchema: {
RecordFormatType: "JSON"
},
KinesisStreamingDestination: {
ResourceArn: "arn:aws:kinesis:us-west-2:123456789012:stream/MyOutputStream",
RoleArn: "arn:aws:iam::123456789012:role/MyKinesisRole"
}
}
});
Advanced Configuration ​
Configure an ApplicationOutput with additional properties such as adopting an existing resource:
ts
const advancedOutput = await AWS.KinesisAnalyticsV2.ApplicationOutput("advancedOutput", {
ApplicationName: "MyKinesisApp",
Output: {
Name: "MyAdvancedOutput",
DestinationSchema: {
RecordFormatType: "JSON"
},
KinesisStreamingDestination: {
ResourceArn: "arn:aws:kinesis:us-west-2:123456789012:stream/MyAdvancedOutputStream",
RoleArn: "arn:aws:iam::123456789012:role/MyKinesisRole"
}
},
adopt: true // Adopt existing resource if it already exists
});
Output to Multiple Destinations ​
Demonstrate how to set up multiple outputs for a Kinesis Analytics application:
ts
const multipleOutputs = await AWS.KinesisAnalyticsV2.ApplicationOutput("multipleOutputs", {
ApplicationName: "MyKinesisApp",
Output: [
{
Name: "OutputToStream",
DestinationSchema: {
RecordFormatType: "JSON"
},
KinesisStreamingDestination: {
ResourceArn: "arn:aws:kinesis:us-west-2:123456789012:stream/MyOutputStream",
RoleArn: "arn:aws:iam::123456789012:role/MyKinesisRole"
}
},
{
Name: "OutputToS3",
DestinationSchema: {
RecordFormatType: "CSV"
},
S3Destination: {
BucketArn: "arn:aws:s3:::my-output-bucket",
RoleArn: "arn:aws:iam::123456789012:role/MyKinesisRole",
Prefix: "output/"
}
}
]
});
By utilizing the ApplicationOutput
resource, you can effectively manage how your Kinesis Analytics applications output data to various destinations, enhancing your data processing workflows.