Amazon web services 当属性具有某些字符时,AWS DynamoDB查询失败

Amazon web services 当属性具有某些字符时,AWS DynamoDB查询失败,amazon-web-services,amazon-dynamodb,boto,boto3,Amazon Web Services,Amazon Dynamodb,Boto,Boto3,如果我运行此查询: data = table.query(KeyConditionExpression = Key('id').eq('fasfas'), FilterExpression=Attr(u'Absolute humidity[g/kg].3').eq(1)) 我得到一个错误: ClientError: An error occurred (ValidationException) when calling the Query operatio

如果我运行此查询:

data = table.query(KeyConditionExpression = Key('id').eq('fasfas'),
                   FilterExpression=Attr(u'Absolute humidity[g/kg].3').eq(1))
我得到一个错误:

ClientError: An error occurred (ValidationException) when calling the Query operation: Invalid FilterExpression: Syntax error; token: "humidity", near: "Absolute humidity ["
但是,如果我使用他们的网站运行查询,它就会工作。如何使用boto3使其工作


另外,它也不适用于下划线。

您的一个参数与数据类型不匹配,或者缺少必需的参数,例如范围和哈希键

如果要查找与查询匹配的任何记录,则需要扫描而不是查询

ValidationException消息:根据特定的 遇到错误

出现此错误的原因有多种,例如必需的参数 缺少、值超出范围或数据类型不匹配。 错误消息包含有关特定部分的详细信息 导致错误的请求

确定重试吗?没有


希望有帮助。

您的一个参数与数据类型不匹配,或者缺少必需的参数,如范围和哈希键

如果要查找与查询匹配的任何记录,则需要扫描而不是查询

ValidationException消息:根据特定的 遇到错误

出现此错误的原因有多种,例如必需的参数 缺少、值超出范围或数据类型不匹配。 错误消息包含有关特定部分的详细信息 导致错误的请求

确定重试吗?没有

希望能有帮助

表达式属性名称是在表达式中用作实际属性名称替代项的占位符

[……]

如果属性名称以数字开头或包含空格、特殊字符或保留字,则必须使用表达式属性名称替换表达式中该属性的名称

另见

表达式属性名称是在表达式中用作实际属性名称替代项的占位符

[……]

如果属性名称以数字开头或包含空格、特殊字符或保留字,则必须使用表达式属性名称替换表达式中该属性的名称


另请参见

这里有点像你在猜测<代码>语法错误;标记:“湿度”,近:“绝对湿度[”似乎排除了您所建议的可能是问题。这有点像您在猜测,这里…
语法错误;标记:“湿度”,近:“绝对湿度[”
似乎排除了您所建议的可能是问题。