【问题标题】:adding new column in dynamo DB using boto3 resource with update_item使用带有 updateitem 的 boto3 资源在 dynamoDB 中添加新列
【发布时间】:2021-07-16 16:35:08
【问题描述】:

我需要更新 Dynomodb 中的一行,同时需要包含一个已经不存在的新列。

resp = table.update_item(
            Key={
                'Pkey': 'key1',
                'Skey': 'skwy2'
            },
            UpdateExpression='ADD dateModified = :input2, SET IsActive = :input1',
            ExpressionAttributeValues={
                ':input1': False,
                ':input2' :  datetime.datetime.now(timezone.utc)
            },
            ReturnValues="UPDATED_NEW"
        )

现在我需要将 IsActive 字段更新为 false 并向其中插入新的 dateModified 值。

得到错误为 UpdateExpression 无效:语法错误;令牌:“=”,附近:“dateModified = :input2”

【问题讨论】:

    标签: python boto3 amazon-dynamodb


    【解决方案1】:

    您可以在https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.ADD 中看到,对于ADD 操作,您不使用=

    所以正确的表达式应该是ADD dateModified :input2 SET IsActive = :input1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2021-06-23
      相关资源
      最近更新 更多