aws-lambda-powertools 3.12.1a6__py3-none-any.whl → 3.12.1a8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "3.12.1a6"
3
+ VERSION = "3.12.1a8"
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
+ import zlib
4
5
  from typing import TYPE_CHECKING, Any, cast
5
6
 
6
7
  from aws_lambda_powertools.utilities.parser.envelopes.base import BaseEnvelope
@@ -45,5 +46,17 @@ class KinesisDataStreamEnvelope(BaseEnvelope):
45
46
  for record in parsed_envelope.Records:
46
47
  # We allow either AWS expected contract (bytes) or a custom Model, see #943
47
48
  data = cast(bytes, record.kinesis.data)
48
- models.append(self._parse(data=data.decode("utf-8"), model=model))
49
+ try:
50
+ decoded_data = data.decode("utf-8")
51
+ except UnicodeDecodeError as ude:
52
+ try:
53
+ logger.debug(
54
+ f"{type(ude).__name__}: {str(ude)} encountered. "
55
+ "Data will be decompressed with zlib.decompress().",
56
+ )
57
+ decompressed_data = zlib.decompress(data, zlib.MAX_WBITS | 32)
58
+ decoded_data = decompressed_data.decode("utf-8")
59
+ except Exception as e:
60
+ raise ValueError("Unable to decode and/or decompress data.") from e
61
+ models.append(self._parse(data=decoded_data, model=model))
49
62
  return models
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aws_lambda_powertools
3
- Version: 3.12.1a6
3
+ Version: 3.12.1a8
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  License: MIT
6
6
  Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
@@ -97,7 +97,7 @@ aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH
97
97
  aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
98
98
  aws_lambda_powertools/shared/types.py,sha256=EZ_tbX3F98LA4Zcra1hTEjzRacpZAtggK957Zcv1oKg,135
99
99
  aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
100
- aws_lambda_powertools/shared/version.py,sha256=IuhScqq-Y4HyfH23Jxbu5_RfELvRDN7SkQQPOHlvGIo,85
100
+ aws_lambda_powertools/shared/version.py,sha256=bu4rkF3HQmnJsPfy-G3Y4DAkyVwhXd9KxIWdlMLqQo0,85
101
101
  aws_lambda_powertools/tracing/__init__.py,sha256=f4bMThOPBPWTPVcYqcAIErAJPerMsf3H_Z4gCXCsK9I,141
102
102
  aws_lambda_powertools/tracing/base.py,sha256=WSO986XGBOe9K0F2SnG6ustJokIrtO0m0mcL8N7mfno,4544
103
103
  aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
@@ -207,7 +207,7 @@ aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py,sha256=xERcckRMA_
207
207
  aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py,sha256=fJyqT7i5dgzwuLkpK3tdvKPo_7g3VuVvKsqFYri3pJA,1731
208
208
  aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py,sha256=JpstsMZsd5abf4oJvMUdo-K7x-gxHf91eR2BB9Z3rVA,1244
209
209
  aws_lambda_powertools/utilities/parser/envelopes/kafka.py,sha256=dt6aOo-ZuR7Yr6vSHWcenvKUK5ZkXi5gJrCeyjDVnWQ,1955
210
- aws_lambda_powertools/utilities/parser/envelopes/kinesis.py,sha256=s4M_O4O3tCKXIIhjZwrMDUmFPBeKdLSO78bbf-CpT-w,1894
210
+ aws_lambda_powertools/utilities/parser/envelopes/kinesis.py,sha256=4PW4Sy_44LDFx77jg9aOhZaPq1GaWqf5DRSwDwu0jjY,2520
211
211
  aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py,sha256=lQC-duOS-AgPOyD3QSeCOCJiqrUBHO3grHtv3mPOPJw,1971
212
212
  aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py,sha256=ppOvWaSZ5HvTp7DwrOqQIXBMiZg1Ad21DrC0rYXlzQI,1286
213
213
  aws_lambda_powertools/utilities/parser/envelopes/sns.py,sha256=F7PXKgdj3NBsTBHb4ZgPWD8trLVrZQlBoz8P94k3f1A,2987
@@ -268,7 +268,7 @@ aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0n
268
268
  aws_lambda_powertools/utilities/validation/exceptions.py,sha256=PKy_19zQMBJGCMMFl-sMkcm-cc0v3zZBn_bhGE4wKNo,2084
269
269
  aws_lambda_powertools/utilities/validation/validator.py,sha256=khCqFhACSdn0nKyYRRPiC5Exht956hTfSfhlV3IRmpg,10099
270
270
  aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
271
- aws_lambda_powertools-3.12.1a6.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
272
- aws_lambda_powertools-3.12.1a6.dist-info/METADATA,sha256=EozAsdFyHxVDdZ42l0AArGf0UHRV1W4ToaQNAdEn0Go,11187
273
- aws_lambda_powertools-3.12.1a6.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
274
- aws_lambda_powertools-3.12.1a6.dist-info/RECORD,,
271
+ aws_lambda_powertools-3.12.1a8.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
272
+ aws_lambda_powertools-3.12.1a8.dist-info/METADATA,sha256=kbbxlZPoQd66od3VYsZquoN7rpWOUnWH5X-MaKtdK_A,11187
273
+ aws_lambda_powertools-3.12.1a8.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
274
+ aws_lambda_powertools-3.12.1a8.dist-info/RECORD,,