Package software.amazon.awscdk.services.pipes.sources.alpha
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.
Queue sourceQueue; Queue targetQueue; SqsSource pipeSource = new SqsSource(sourceQueue); Pipe pipe = Pipe.Builder.create(this, "Pipe") .source(pipeSource) .target(new SomeTarget(targetQueue)) .build();
The polling configuration can be customized:
Queue sourceQueue; Queue targetQueue; SqsSource pipeSource = SqsSource.Builder.create(sourceQueue) .batchSize(10) .maximumBatchingWindow(Duration.seconds(10)) .build(); Pipe pipe = Pipe.Builder.create(this, "Pipe") .source(pipeSource) .target(new SomeTarget(targetQueue)) .build();
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.
Stream sourceStream; Queue targetQueue; KinesisSource pipeSource = KinesisSource.Builder.create(sourceStream) .startingPosition(KinesisStartingPosition.LATEST) .build(); Pipe pipe = Pipe.Builder.create(this, "Pipe") .source(pipeSource) .target(new SomeTarget(targetQueue)) .build();
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.
Queue targetQueue; TableV2 table = TableV2.Builder.create(this, "MyTable") .partitionKey(Attribute.builder() .name("id") .type(AttributeType.STRING) .build()) .dynamoStream(StreamViewType.NEW_IMAGE) .build(); DynamoDBSource pipeSource = DynamoDBSource.Builder.create(table) .startingPosition(DynamoDBStartingPosition.LATEST) .build(); Pipe pipe = Pipe.Builder.create(this, "Pipe") .source(pipeSource) .target(new SomeTarget(targetQueue)) .build();
-
ClassDescription(experimental) A source that reads from an DynamoDB stream.(experimental) A fluent builder for
DynamoDBSource
.(experimental) Parameters for the DynamoDB source.A builder forDynamoDBSourceParameters
An implementation forDynamoDBSourceParameters
(experimental) The position in a DynamoDB stream from which to start reading.(experimental) A source that reads from Kinesis.(experimental) A fluent builder forKinesisSource
.(experimental) Parameters for the Kinesis source.A builder forKinesisSourceParameters
An implementation forKinesisSourceParameters
(experimental) The position in a Kinesis stream from which to start reading.(experimental) Define how to handle item process failures.(experimental) A source that reads from an SQS queue.(experimental) A fluent builder forSqsSource
.(experimental) Parameters for the SQS source.A builder forSqsSourceParameters
An implementation forSqsSourceParameters
(experimental) Streaming sources.(experimental) Base parameters for streaming sources.A builder forStreamSourceParameters
An implementation forStreamSourceParameters