我很难理解为什么下面对DynamoDB表的查询不起作用:
dict_table.query(KeyConditionExpression='norm = :cihan', ExpressionAttributeValues={':cihan': {'S': 'cihan'}})
并抛出此错误:
ClientError: An error occurred (ValidationException) when calling the Query operation: One or more parameter values were invalid: Condition parameter type does not match schema type
当以下操作有效时:
dict_table.query(KeyConditionExpression=Key('norm').eq('cihan'))
norm
是一个字符串类型的字段。我用的是boto3 v 1.4.0和following the docs:
In [43]: boto3.__version__
Out[43]: '1.4.0'
有人知道第一个查询有什么错误吗?
附加问题:所有的代币是什么,需要随时更换它们?为什么我不能说dict_table.query(KeyConditionExpression='norm = cihan')
请更改表达式属性值,如下所述。
在当前版本的boto3(1.9.128)中,所问问题中提到的查询工作正常,除此之外,其他任何问题都不工作,下面提到的查询对我有效:
dynamo_client.query( KeyConditionExpression='campaign_id = :201906', ExpressionAttributeValues={':201906': {'S': '201906'}} )
相关问题 更多 >
编程相关推荐