gpt4 book ai didi

python-3.x - 使用boto3批量上传json到dynamodb

转载 作者:行者123 更新时间:2023-12-05 03:03:22 25 4
gpt4 key购买 nike

我想批量上传一个json文件到dynamodb。目前我可以成功地将项目手动放入 python 文件(如下所示)并上传到表中,但是如何修改脚本以读取外部 json 文件(包含 200 个项目)并将所有 200 个项目批量上传到表中.

import boto3

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('exampletable')

with table.batch_writer() as batch:
batch.put_item(
Item={
'ID': '2',
'DateTime': '21/12/2017 13:16',
'SourceDevice': '10',
'DestinationDevice': '20',
'DataType': 'full',
'Activity': 'unusual'

}
)
batch.put_item(
Item={
'ID': '3',
'DateTime': '21/12/2017 13:40',
'SourceDevice': '10',
'DestinationDevice': '20',
'DataType': 'full',
'Activity': 'unusual'

}
)

json文件内容如下

[{
"ID": "1",
"DateTime": "21/12/2017 13:16",
"SourceDevice": "10",
"DestinationDevice": "20",
"DataType": "part",
"Activity": "normal"
}, {
"ID": "1",
"DateTime": "21/12/2017 13:16",
"SourceDevice": "40",
"DestinationDevice": "25",
"DataType": "full",
"Activity": "unusual"
}]

最佳答案

您可以简单地将其分解为两个任务:

  1. 从文件中读取 JSON
  2. 遍历 JSON,每次调用 batch.put_item

lots of results当您搜索第一个任务时。第二个任务字面意思是 just writing a loop .

一个完整的解决方案看起来像这样:

import json
import boto3

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('exampletable')

# Read the JSON file
with open('items.json') as json_data:
items = json.load(json_data)

with table.batch_writer() as batch:

# Loop through the JSON objects
for item in items:
batch.put_item(Item=item)

关于python-3.x - 使用boto3批量上传json到dynamodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54154976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com