Skip to content

Commit 16563bb

Browse files
author
Jurong Huang
authored
feat(data-classes): data_as_bytes prop KinesisStreamRecordPayload (#628)
1 parent 8b2f2fd commit 16563bb

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Diff for: aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,13 @@ def sequence_number(self) -> str:
3131
"""The unique identifier of the record within its shard"""
3232
return self["kinesis"]["sequenceNumber"]
3333

34+
def data_as_bytes(self) -> bytes:
35+
"""Decode binary encoded data as bytes"""
36+
return base64.b64decode(self.data)
37+
3438
def data_as_text(self) -> str:
3539
"""Decode binary encoded data as text"""
36-
return base64.b64decode(self.data).decode("utf-8")
40+
return self.data_as_bytes().decode("utf-8")
3741

3842
def data_as_json(self) -> dict:
3943
"""Decode binary encoded data as json"""

Diff for: tests/functional/test_data_classes.py

+1
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,7 @@ def test_kinesis_stream_event():
10771077
assert kinesis.partition_key == "1"
10781078
assert kinesis.sequence_number == "49590338271490256608559692538361571095921575989136588898"
10791079

1080+
assert kinesis.data_as_bytes() == b"Hello, this is a test."
10801081
assert kinesis.data_as_text() == "Hello, this is a test."
10811082

10821083

0 commit comments

Comments
 (0)