Если у меня есть таблица с хэш-ключом userId и ключ диапазона productId, как я могу поместить элемент в эту таблицу, только если он еще не существует с помощью привязок boto3 dynamodb?
Обычный вызов put_item выглядит следующим образом:
table.put_item(Item={'userId': 1, 'productId': 2})
Мой вызов с выражением ConditionExpression выглядит так:
table.put_item(
Item={'userId': 1, 'productId': 2},
ConditionExpression='userId <> :uid AND productId <> :pid',
ExpressionAttributeValues={':uid': 1, ':pid': 3}
)
Но каждый раз возникает исключение ConditionalCheckFailedException. Существует ли элемент с одним и тем же продуктом или нет.