我正在尝试使用Hash和Range键查询一个表,其中Range与数组中的值匹配。我正在使用aws-sdk
npm模块。当我运行以下扫描时,我得到一个ValidationException。
client.scan({
TableName: "MyTable",
ScanFilter: {
HashID: {
AttributeValueList: [ { "S": "hash" } ],
ComparisonOperator: "EQ",
},
RangeID: {
AttributeValueList: [ {"SS": ["a", "b"]} ],
ComparisonOperator: "IN"
},
},
}
错误回复:
{ [ValidationException: The attempted filter operation is not supported for the provided type]
message: 'The attempted filter operation is not supported for the provided type',
code: 'ValidationException',
name: 'ValidationException',
statusCode: 400,
retryable: false }
我该如何进行此查询?
答案 0 :(得分:1)
来自API:
IN:检查完全匹配。
AttributeValueList可以包含多个类型的AttributeValue 字符串,数字或二进制(不是一组)。的目标属性 比较必须具有相同的类型和精确值才能匹配。一个字符串 永远不会匹配字符串集。
这意味着您不能使用字符串集(SS)。您可能需要向AttributeValueList传递一些类型为S的AttributeValue对象。