Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 项目的BOTB DynamoDB更新列表属性_Python_Amazon Web Services_Aws Lambda_Amazon Dynamodb_Boto3 - Fatal编程技术网

Python 项目的BOTB DynamoDB更新列表属性

Python 项目的BOTB DynamoDB更新列表属性,python,amazon-web-services,aws-lambda,amazon-dynamodb,boto3,Python,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Boto3,我有一张像这样的桌子: { "pKey": 10001, "items": [ { "name": "A", "value": 100 }, { "name": "B", "value": 100 } ] } 我想将项目列表中的所有值属性更新为200,项目列表可以有1到n个对象 如何使用boto3 python dynamoDB低级客户端API实现这一点?我还没有真正测试过这一点,但我可以通过阅读以

我有一张像这样的桌子:

{
"pKey": 10001,
"items": [
    {
        "name": "A",
        "value": 100
    },
    {
        "name": "B",
        "value": 100
    }
]
}
我想将
项目
列表中的所有
属性更新为200,
项目
列表可以有1到n个对象


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

我还没有真正测试过这一点,但我可以通过阅读以下内容得出以下结论:


我还没有真正测试过这一点,但通过阅读以下内容,我可以得出以下结论:


感谢这个简单的解决方案。但是,我想知道
get\u item
+
put\u item
的成本是否与
update\u item
API相同,因为我可能需要更新数十亿个条目。这似乎是重写所有这些,它可能会花费很多。工程伟大的为我。感谢这个简单的解决方案。但是,我想知道
get\u item
+
put\u item
的成本是否与
update\u item
API相同,因为我可能需要更新数十亿个条目。这看起来像是重写了所有的内容,它可能会花费很多。对我来说非常有用。
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')