@@ -29,6 +29,7 @@ Pipe targets are the end point of an EventBridge Pipe. The following targets are
29
29
* ` targets.ApiGatewayTarget ` : [ Send event source to an API Gateway REST API] ( #amazon-api-gateway-rest-api )
30
30
* ` targets.CloudWatchLogsTarget ` : [ Send event source to a CloudWatch Logs log group] ( #amazon-cloudwatch-logs-log-group )
31
31
* ` targets.EventBridgeTarget ` : [ Send event source to an EventBridge event bus] ( #amazon-eventbridge-event-bus )
32
+ * ` targets.FirehoseTarget ` : [ Send event source to an Amazon Data Firehose delivery stream] ( #amazon-data-firehose-delivery-stream )
32
33
* ` targets.KinesisTarget ` : [ Send event source to a Kinesis data stream] ( #amazon-kinesis-data-stream )
33
34
* ` targets.LambdaFunction ` : [ Send event source to a Lambda function] ( #aws-lambda-function )
34
35
* ` targets.SageMakerTarget ` : [ Send event source to a SageMaker pipeline] ( #amazon-sagemaker-pipeline )
@@ -37,7 +38,7 @@ Pipe targets are the end point of an EventBridge Pipe. The following targets are
37
38
38
39
### Amazon EventBridge API Destination
39
40
40
- An EventBridge API destination can be used as a target for a pipe.
41
+ An EventBridge API destination can be used as a target for a pipe.
41
42
The API destination will receive the (enriched/filtered) source payload.
42
43
43
44
``` ts
@@ -70,7 +71,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
70
71
71
72
### Amazon API Gateway Rest API
72
73
73
- A REST API can be used as a target for a pipe.
74
+ A REST API can be used as a target for a pipe.
74
75
The REST API will receive the (enriched/filtered) source payload.
75
76
76
77
``` ts
@@ -115,7 +116,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
115
116
116
117
### Amazon CloudWatch Logs Log Group
117
118
118
- A CloudWatch Logs log group can be used as a target for a pipe.
119
+ A CloudWatch Logs log group can be used as a target for a pipe.
119
120
The log group will receive the (enriched/filtered) source payload.
120
121
121
122
``` ts
@@ -148,7 +149,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
148
149
149
150
### Amazon EventBridge Event Bus
150
151
151
- An EventBridge event bus can be used as a target for a pipe.
152
+ An EventBridge event bus can be used as a target for a pipe.
152
153
The event bus will receive the (enriched/filtered) source payload.
153
154
154
155
``` ts
@@ -179,9 +180,42 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
179
180
});
180
181
```
181
182
183
+ ### Amazon Data Firehose Delivery Stream
184
+
185
+ An Amazon Data Firehose delivery stream can be used as a target for a pipe.
186
+ The delivery stream will receive the (enriched/filtered) source payload.
187
+
188
+ ``` ts
189
+ declare const sourceQueue: sqs .Queue ;
190
+ declare const targetDeliveryStream: firehose .DeliveryStream ;
191
+
192
+ const deliveryStreamTarget = new targets .FirehoseTarget (targetDeliveryStream );
193
+
194
+ const pipe = new pipes .Pipe (this , ' Pipe' , {
195
+ source: new SqsSource (sourceQueue ),
196
+ target: deliveryStreamTarget ,
197
+ });
198
+ ```
199
+
200
+ The input to the target delivery stream can be transformed:
201
+
202
+ ``` ts
203
+ declare const sourceQueue: sqs .Queue ;
204
+ declare const targetDeliveryStream: firehose .DeliveryStream ;
205
+
206
+ const deliveryStreamTarget = new targets .FirehoseTarget (targetDeliveryStream , {
207
+ inputTransformation: pipes .InputTransformation .fromObject ({ body: " 👀" }),
208
+ });
209
+
210
+ const pipe = new pipes .Pipe (this , ' Pipe' , {
211
+ source: new SqsSource (sourceQueue ),
212
+ target: deliveryStreamTarget ,
213
+ });
214
+ ```
215
+
182
216
### Amazon Kinesis Data Stream
183
217
184
- A Kinesis data stream can be used as a target for a pipe.
218
+ A Kinesis data stream can be used as a target for a pipe.
185
219
The data stream will receive the (enriched/filtered) source payload.
186
220
187
221
``` ts
@@ -217,7 +251,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
217
251
218
252
### AWS Lambda Function
219
253
220
- A Lambda function can be used as a target for a pipe.
254
+ A Lambda function can be used as a target for a pipe.
221
255
The Lambda function will be invoked with the (enriched/filtered) source payload.
222
256
223
257
``` ts
@@ -266,7 +300,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
266
300
267
301
### Amazon SageMaker Pipeline
268
302
269
- A SageMaker pipeline can be used as a target for a pipe.
303
+ A SageMaker pipeline can be used as a target for a pipe.
270
304
The pipeline will receive the (enriched/filtered) source payload.
271
305
272
306
``` ts
@@ -299,7 +333,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
299
333
300
334
### AWS Step Functions State Machine
301
335
302
- A Step Functions state machine can be used as a target for a pipe.
336
+ A Step Functions state machine can be used as a target for a pipe.
303
337
The state machine will be invoked with the (enriched/filtered) source payload.
304
338
305
339
``` ts
@@ -351,7 +385,7 @@ const pipe = new pipes.Pipe(this, 'Pipe', {
351
385
352
386
### Amazon SQS Queue
353
387
354
- An SQS queue can be used as a target for a pipe.
388
+ An SQS queue can be used as a target for a pipe.
355
389
The queue will receive the (enriched/filtered) source payload.
356
390
357
391
``` ts
@@ -374,8 +408,8 @@ declare const targetQueue: sqs.Queue;
374
408
375
409
const pipeTarget = new targets .SqsTarget (targetQueue ,
376
410
{
377
- inputTransformation: pipes .InputTransformation .fromObject (
378
- {
411
+ inputTransformation: pipes .InputTransformation .fromObject (
412
+ {
379
413
" SomeKey" : pipes .DynamicInput .fromEventPath (' $.body' )
380
414
})
381
415
}
0 commit comments