I was trying to ram data into AWS dynamodb via Boto3 and the streaming failed due to following error:
File "C:\Program Files\Python37\lib\site-packages\boto3\dynamodb\types.py", line 102, in serialize
dynamodb_type = self._get_dynamodb_type(value)
File "C:\Program Files\Python37\lib\site-packages\boto3\dynamodb\types.py", line 115, in _get_dynamodb_type
elif self._is_number(value):
File "C:\Program Files\Python37\lib\site-packages\boto3\dynamodb\types.py", line 160, in _is_number
'Float types are not supported. Use Decimal types instead.')
TypeError: Float types are not supported. Use Decimal types instead.
I was actually getting some raw data points from cloudwatch for later analytics. These datapoints were in float format which are not supported by Dynamodb. Now instead of importing some decimal libraries or doing JSON manipulation, you can solve above with simple Python format expression like this:
No comments:
Post a Comment