Python AWS DynamoDB-使用JSON文件作为输入,使用Boto3加载数据

Python AWS DynamoDB-使用JSON文件作为输入,使用Boto3加载数据,python,amazon-web-services,amazon-dynamodb,boto,boto3,Python,Amazon Web Services,Amazon Dynamodb,Boto,Boto3,我在Amazon DynamoDB中有多个表,JSON数据当前使用批写入项命令上传到表中,该命令是AWS CLI的一部分,可以使用该命令进行操作 但是,我只想使用Python+Boto3,但是无法执行Boto批写Item请求,并将外部数据文件作为输入。我设想如果有一个Boto3脚本,它会像下面所示的那样,但是我还没有找到它的文档/示例 示例(伪代码) 参考: 感谢您的指点。最好看一看Boto3的readthedocs: 只要JSON的格式与示例中的请求相同,您就可以使用: f = open('M

我在Amazon DynamoDB中有多个表,JSON数据当前使用
批写入项
命令上传到表中,该命令是AWS CLI的一部分,可以使用该命令进行操作

但是,我只想使用Python+Boto3,但是无法执行Boto
批写Item
请求,并将外部数据文件作为输入。我设想如果有一个Boto3脚本,它会像下面所示的那样,但是我还没有找到它的文档/示例

示例(伪代码)

参考:


感谢您的指点。

最好看一看Boto3的readthedocs:

只要JSON的格式与示例中的请求相同,您就可以使用:

f = open('MyData.json')
request_items = json.loads(f.read())
client = boto3.client('dynamodb')
response = client.batch_write_item(RequestItems=request_items)

我这样加载JSON

import boto3
import json

dynamodbclient=boto3.resource('dynamodb')
sample_table = dynamodbclient.Table('ec2metadata')

with open('/samplepath/spotec2interruptionevent.json', 'r') as myfile:
    data=myfile.read()

# parse file
obj = json.loads(data)

#instance_id and cluster_id is the Key in dynamodb table 

    response=sample_table.put_item(
                              Item={
                                  'instance_id': instanceId,
                                  'cluster_id': clusterId,
                                  'event':obj

                              }
                              )
import boto3
import json

dynamodbclient=boto3.resource('dynamodb')
sample_table = dynamodbclient.Table('ec2metadata')

with open('/samplepath/spotec2interruptionevent.json', 'r') as myfile:
    data=myfile.read()

# parse file
obj = json.loads(data)

#instance_id and cluster_id is the Key in dynamodb table 

    response=sample_table.put_item(
                              Item={
                                  'instance_id': instanceId,
                                  'cluster_id': clusterId,
                                  'event':obj

                              }
                              )