Skip to content

Commit 4ed0e66

Browse files
committed
chore: lower cognitive overhead; add example docstring
Signed-off-by: heitorlessa <[email protected]>
1 parent 3e43a25 commit 4ed0e66

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,41 @@ class KinesisFirehoseDataTransformationResponse:
125125
records : List[KinesisFirehoseResponseRecord]
126126
records of Kinesis Data Firehose response object,
127127
optional parameter at start. can be added later using `add_record` function.
128+
129+
Examples
130+
--------
131+
132+
**Transforming data records**
133+
134+
```python
135+
from aws_lambda_powertools.utilities.data_classes import (
136+
KinesisFirehoseDataTransformationRecord,
137+
KinesisFirehoseDataTransformationResponse,
138+
KinesisFirehoseEvent,
139+
)
140+
from aws_lambda_powertools.utilities.serialization import base64_from_json
141+
from aws_lambda_powertools.utilities.typing import LambdaContext
142+
143+
144+
def lambda_handler(event: dict, context: LambdaContext):
145+
firehose_event = KinesisFirehoseEvent(event)
146+
result = KinesisFirehoseDataTransformationResponse()
147+
148+
for record in firehose_event.records:
149+
payload = record.data_as_text # base64 decoded data as str
150+
151+
## generate data to return
152+
transformed_data = {"tool_used": "powertools_dataclass", "original_payload": payload}
153+
processed_record = KinesisFirehoseDataTransformationRecord(
154+
record_id=record.record_id,
155+
data=base64_from_json(transformed_data),
156+
)
157+
158+
result.add_record(processed_record)
159+
160+
# return transformed records
161+
return result.asdict()
162+
```
128163
"""
129164

130165
records: List[KinesisFirehoseDataTransformationRecord] = field(default_factory=list)

examples/event_sources/src/kinesis_firehose_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ def lambda_handler(event: dict, context: LambdaContext):
1616

1717
## generate data to return
1818
transformed_data = {"tool_used": "powertools_dataclass", "original_payload": payload}
19-
2019
processed_record = KinesisFirehoseDataTransformationRecord(
2120
record_id=record.record_id,
2221
data=base64_from_json(transformed_data),
2322
)
23+
2424
result.add_record(processed_record)
2525

2626
# return transformed records

0 commit comments

Comments
 (0)