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