Лямбда, возвращающая ConditionalCheckFailedException вместо обновления элемента - PullRequest
1 голос
/ 24 февраля 2020

Я пытаюсь заставить свою функцию Lambda обновлять результаты в моей таблице DynamoDB, но я только хочу обновить мои существующие записи / элементы в моей таблице, а не создавать новые элементы.

В настоящее время у меня есть следующее:

def updateDynamo(asset, averageRating) : 
    updateItem = ChipRatingTable.update_item(
        Key={
            'AssetID': asset
        },
        UpdateExpression="SET AverageRating = :a",
        ConditionExpression='attribute_exists(AssetID)',
        ExpressionAttributeValues={
            ':a': Decimal(str(averageRating))
        },
        ReturnValues="UPDATED_NEW"
    ) 

Я попытался провести небольшое исследование и отметил Условие выражения как способ сделать это, но каждый раз, когда я пытаюсь получить, я получаю ошибка:

«errorMessage»: «Произошла ошибка (ConditionalCheckFailedException) при вызове операции UpdateItem: сбой условного запроса», «errorType»: «ConditionalCheckFailedException»

Любая помощь будет принята с благодарностью! Спасибо!

...