Checked AWS document but did not find any working example.
Here is my attempt
var params = {
TableName: \"User\",
IndexName:\
The Python3 version:
def get_filter_for_in_clause(column_name, in_values, column_type="S"):
expressions = []
for i in range(len(in_values)):
expressions.append(f':temp{i}')
filter_expression = f'{column_name} IN ({", ".join(expressions)})'
expression_attribute_values = {}
for index, expression in enumerate(expressions):
expression_attribute_values[expression] = {column_type: in_values[index]}
return filter_expression, expression_attribute_values
Usage:
column = 'testcolumn'
inputs = ['testvalue1', 'testvalue2', 'testvalue3']
filter_expression, expression_attribute_values = get_filter_for_in_clause(column, inputs)
Result:
# filter_expression = 'testcolumn IN (:temp0, :temp1, :temp2)'
# expression_attribute_values = {':temp0': {'S': 'testvalue1'}, ':temp1': {'S': 'testvalue2'}, ':temp2': {'S': 'testvalue3'}}