我正在开发访问DynamoDB表的Lambda函数(Python 2.7)。
该表将PK命名为datetime作为字符串,它还有名为text的列为字符串类型,num为数字类型。
datetime |文字| NUM
20170101 | abcd | 1.1
20170201 | abcd | 1.5
20170301 | xyzz | 1.6
20170401 | abcd | 1.8
我还设置了全球二级指数。 分区键是“文本”,排序键是“num”。 因为我想获得“text”=“abcd和num在1.3和1.9之间的记录。
- >得到#2和#4。
所以,我开发了代码。
TBL.query(
IndexName='text-num-index',
KeyConditionExpression=Key('text').eq("abcd") & Key('num').between(1.3, 1.9)
)
但是,我的代码有错误
TypeError:不支持浮点类型。改为使用十进制类型。
所以,我修改了代码
TBL.query(
IndexName='text-num-index',
KeyConditionExpression=Key('text').eq("abcd") & Key('num').between(decimal.Decimal(1.3), decimal.Decimal(1.9))
)
但还有另一个错误
不精确:无
该消息是否意味着“丢失有效数字”??
请告诉我如何解决这个问题......