使用ScanFilter进行boto3 DDB扫描?

时间:2018-11-14 03:31:58

标签: python python-2.7 aws-sdk boto3 boto

这是在DDB扫描操作中比较字符串属性值的相等性的正确方法。它不会从我的表中提取所需的数据,但是当不使用ScanFilter并返回所有记录时可以使用。 (请注意,模型和名称是列字段名称,并存储字符串值)。我对此很陌生,如果我缺少一些愚蠢的东西,我深表歉意。

我知道我们可以使用FilterExpression,但是使用ScanFilter可以最好地满足我的用例。

db_client = boto3.resource('dynamodb')
scan_filter = {'model': {'ComparisonOperator': 'EQ', 'AttributeValueList': [{'S': '<some_model_val>'}]}, 'name': {'ComparisonOperator': 'EQ', 'AttributeValueList': [{'S': 'some_name_val'}]}}
table = db_client.Table("<table_name>")
response = table.scan(
    Select='ALL_ATTRIBUTES',
    ScanFilter=scan_filter
)
print response

0 个答案:

没有答案