Я хочу отсканировать небольшую таблицу DynamoDB, используя Boto3, и дополнительно разрешить вызывающей стороне этого кода указывать, когда к этому сканированию должны применяться дополнительные условия.
В коде было бы удобно сделать это:
scan_kwargs = {'Select': 'ALL_ATTRIBUTES'}
filter_exp = '' # WHAT DO HERE?
if condition1:
filter_exp &= Attr('attribute').is_in(['blah', 'bloop'])
if condition2:
filter_exp &= Attr('deleted').is_eq(True)
scan_kwargs.update({'FilterExpression': filter_exp})
response = table.scan(**scan_kwargs)
Я пытаюсь выяснить, могу ли я установить FilterExpression по умолчанию (указано выше в комментарии), чтобы сканирование работало при отсутствии фильтров, которые нужно применить.
Насколько я могу судить, это невозможно.