Skip to content

Commit 61ddee9

Browse files
committed
docs: improve exception example
1 parent 745492c commit 61ddee9

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

docs/utilities/data_classes.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1002,10 +1002,12 @@ To do that, you can use `KinesisFirehoseDataTransformationResponse` class along
10021002

10031003
=== "Indicating a processing failure"
10041004

1005-
```python
1005+
```python hl_lines="2-3 33"
10061006
--8<-- "examples/event_sources/src/kinesis_firehose_response_exception.py"
10071007
```
10081008

1009+
1. This record will now be sent to your [S3 bucket in the `processing-failed` folder](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html#data-transformation-failure-handling){target="_blank"}.
1010+
10091011
### Lambda Function URL
10101012

10111013
=== "app.py"

examples/event_sources/src/kinesis_firehose_response_exception.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,24 @@
22
KinesisFirehoseDataTransformationRecord,
33
KinesisFirehoseDataTransformationResponse,
44
KinesisFirehoseEvent,
5+
event_source,
56
)
67
from aws_lambda_powertools.utilities.serialization import base64_from_json
78
from aws_lambda_powertools.utilities.typing import LambdaContext
89

910

11+
@event_source(data_class=KinesisFirehoseEvent)
1012
def lambda_handler(event: dict, context: LambdaContext):
1113
firehose_event = KinesisFirehoseEvent(event)
1214
result = KinesisFirehoseDataTransformationResponse()
1315

1416
for record in firehose_event.records:
1517
try:
1618
payload = record.data_as_text # base64 decoded data as str
17-
## do all kind of stuff with payload
18-
## generate data to return
19+
20+
# generate data to return
1921
transformed_data = {"tool_used": "powertools_dataclass", "original_payload": payload}
22+
2023
# Default result is Ok
2124
processed_record = KinesisFirehoseDataTransformationRecord(
2225
record_id=record.record_id,
@@ -27,7 +30,7 @@ def lambda_handler(event: dict, context: LambdaContext):
2730
processed_record = KinesisFirehoseDataTransformationRecord(
2831
record_id=record.record_id,
2932
data=record.data,
30-
result="ProcessingFailed",
33+
result="ProcessingFailed", # (1)!
3134
)
3235

3336
result.add_record(processed_record)

0 commit comments

Comments
 (0)