【发布时间】:2022-04-22 14:59:03
【问题描述】:
代码sn-p:
conn = dynamo_connect()
company = Table("companydb",connection=conn)
companyrecord = {'company-slug':'www-google-com12','founding-year':1991, 'randomlist' :[1,2,3,4,5], 'randomdict' : {'a':[1,2,3],'b':'something','randomnumber':10.55} }
company.put_item(data=companyrecord)
我收到以下错误:
File "C:\Python27\lib\site-packages\boto\dynamodb2\items.py", line 329, in prepare_full
final_data[key] = self._dynamizer.encode(value)
File "C:\Python27\lib\site-packages\boto\dynamodb\types.py", line 279, in encode
return {dynamodb_type: encoder(attr)}
File "C:\Python27\lib\site-packages\boto\dynamodb\types.py", line 335, in _encode_m
return dict([(k, self.encode(v)) for k, v in attr.items()])
File "C:\Python27\lib\site-packages\boto\dynamodb\types.py", line 279, in encode
return {dynamodb_type: encoder(attr)}
File "C:\Python27\lib\site-packages\boto\dynamodb\types.py", line 305, in _encode_n
raise DynamoDBNumberError(msg)
boto.dynamodb.exceptions.DynamoDBNumberError: BotoClientError: Inexact numeric for `10.55`
【问题讨论】:
-
介意包括实际导致错误的代码...?
-
@tzaman 我已经更新了上面帖子中的代码。我尝试为没有浮点值的字典插入记录,插入工作得很好。即使将 10.55 设置为 '10.55' ,它也可以工作,但 Dynamodb 数据类型随后被解释为 String 而不是 Number
标签: python amazon-web-services floating-point amazon-dynamodb boto