Skip to content
GitHubXDiscord

StreamConsumer

The StreamConsumer resource allows you to manage AWS Kinesis StreamConsumers that provide a way to read and process data from Kinesis streams.

Create a basic Kinesis StreamConsumer with required properties.

import AWS from "alchemy/aws/control";
const basicStreamConsumer = await AWS.Kinesis.StreamConsumer("basicStreamConsumer", {
ConsumerName: "MyStreamConsumer",
StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/MyKinesisStream",
adopt: true // Adopt existing resource if it already exists
});

Configure a Kinesis StreamConsumer with additional properties like specifying a unique consumer name.

const advancedStreamConsumer = await AWS.Kinesis.StreamConsumer("advancedStreamConsumer", {
ConsumerName: "UniqueStreamConsumerName",
StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/MyKinesisStream",
adopt: false // Do not adopt if resource already exists
});

Implement a consumer application that reads data from the Kinesis stream using the created StreamConsumer.

import AWS from "alchemy/aws/control";
const consumerApplication = await AWS.Kinesis.StreamConsumer("dataReader", {
ConsumerName: "DataReaderConsumer",
StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/MyKinesisStream"
});
// Example code to process data would be added here
console.log(`Consumer ARN: ${consumerApplication.Arn}`);

Update an existing StreamConsumer to change its name or other properties.

const updatedStreamConsumer = await AWS.Kinesis.StreamConsumer("updateStreamConsumer", {
ConsumerName: "UpdatedStreamConsumerName",
StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/MyKinesisStream",
adopt: true // This will allow the update to proceed if the consumer already exists
});