@aws-cdk/aws-pipes-sources-alpha
v2.171.0-alpha.0
Published
The CDK Construct Library for Amazon EventBridge Pipes Sources
Downloads
5,937
Readme
Amazon EventBridge Pipes Sources Construct Library
The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
EventBridge Pipes Sources let you create a source for a EventBridge Pipe.
For more details see the service documentation:
Pipe sources
Pipe sources are the starting point of a EventBridge Pipe. They are the source of the events that are sent to the pipe.
Amazon SQS
A SQS message queue can be used as a source for a pipe. The queue will be polled for new messages and the messages will be sent to the pipe.
declare const sourceQueue: sqs.Queue;
declare const targetQueue: sqs.Queue;
const pipeSource = new sources.SqsSource(sourceQueue);
const pipe = new pipes.Pipe(this, 'Pipe', {
source: pipeSource,
target: new SqsTarget(targetQueue)
});
The polling configuration can be customized:
declare const sourceQueue: sqs.Queue;
declare const targetQueue: sqs.Queue;
const pipeSource = new sources.SqsSource(sourceQueue, {
batchSize: 10,
maximumBatchingWindow: cdk.Duration.seconds(10)
});
const pipe = new pipes.Pipe(this, 'Pipe', {
source: pipeSource,
target: new SqsTarget(targetQueue)
});
Amazon Kinesis
A Kinesis stream can be used as a source for a pipe. The stream will be polled for new messages and the messages will be sent to the pipe.
declare const sourceStream: kinesis.Stream;
declare const targetQueue: sqs.Queue;
const pipeSource = new sources.KinesisSource(sourceStream, {
startingPosition: sources.KinesisStartingPosition.LATEST,
});
const pipe = new pipes.Pipe(this, 'Pipe', {
source: pipeSource,
target: new SqsTarget(targetQueue)
});
Amazon DynamoDB
A DynamoDB stream can be used as a source for a pipe. The stream will be polled for new messages and the messages will be sent to the pipe.
const table = new ddb.TableV2(this, 'MyTable', {
partitionKey: {
name: 'id',
type: ddb.AttributeType.STRING,
},
dynamoStream: ddb.StreamViewType.NEW_IMAGE,
});
declare const targetQueue: sqs.Queue;
const pipeSource = new sources.DynamoDBSource(table, {
startingPosition: sources.DynamoDBStartingPosition.LATEST,
});
const pipe = new pipes.Pipe(this, 'Pipe', {
source: pipeSource,
target: new SqsTarget(targetQueue)
});