【问题标题】:Boto3 DynamoDB update list attributes for an itemBoto3 DynamoDB 更新项目的列表属性
【发布时间】:2018-09-24 07:46:02
【问题描述】:

我有一张这样的桌子:

{
"pKey": 10001,
"items": [
    {
        "name": "A",
        "value": 100
    },
    {
        "name": "B",
        "value": 100
    }
]
}

我想将items 列表中的所有value 属性更新为200,items 列表可以有1 到n 个对象。

如何使用 boto3 python dynamoDB 低级客户端 API 做到这一点?

【问题讨论】:

    标签: python amazon-web-services aws-lambda amazon-dynamodb boto3


    【解决方案1】:

    我还没有真正测试过这个,但这就是我可以通过阅读docs:

    import boto3
    
    ddb = boto3.resource('dynamodb')
    table = ddb.Table('your_table')
    
    document = table.get_item(Key={'pKey': 10001})['Item']
    
    for item in document['items']:
        item['value'] = 200
    
    table.put_item(Item=document, ReturnValues='NONE')
    

    【讨论】:

    • 欣赏这个简单的解决方案。但是,我想知道get_item + put_item 的成本是否与update_item API 相同,因为我可能需要更新数十亿个条目。这好像都重写了,要花很多钱。
    • 非常适合我。
    猜你喜欢
    • 2018-02-17
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多