当前位置: 首页 > 知识库问答 >
问题:

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

罗凯
2023-03-14

我在Amazon DynamoDB中有多个表,JSON数据当前使用AWS CLI中提供的batch write item命令上传到表中-这很好。

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

示例(伪代码)

table = dynamodb.Table(‘my_table’)
table.BatchWriteItem(RequestItems=file://MyData.json)

参考:http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html

感谢指挥员。

共有2个答案

方奕
2023-03-14

我这样加载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

                              }
                              )
蒙化
2023-03-14

最好的地方是Boto3的阅读文档:https://boto3.readthedocs.org/en/latest/reference/services/dynamodb.html#DynamoDB.Client.batch_write_item

只要您的JSON为请求正确设置了格式,就可以使用以下示例

f = open('MyData.json')
request_items = json.loads(f.read())
client = boto3.client('dynamodb')
response = client.batch_write_item(RequestItems=request_items)
 类似资料:
  • 我试图用Python和Boto3将JSON文件加载到AWS dynamoDB中时遇到了问题,因为该文件具有子级别JSON。 例如,我有以下代码: 在这个布局中,我创建了一个表在AWS动态数据库,但只适用于JSON在一个层次的结构,如: 但是,如果我想把一个JSON文件与子层?如何使用Boto3创建此表?以及如何输入文件?像这样: 我在网上阅读了这两个文档并搜索了一些教程,但我找不到如何做到这一点。

  • 问题内容: 我正在尝试使用节点从循环数据中写入JSON文件,例如: loop.json中的outPut是: 但是我想要这样的输出文件(如下),而且如果我再次运行该代码,它应该将该新输出添加为相同的现有JSON文件中的元素: 我想使用第一次创建的相同文件,但是每当我运行该代码时,新元素都应添加到该文件中 问题答案: 如果随着时间的推移该json文件不会变得太大,您应该尝试: 创建一个具有表数组的ja

  • 问题内容: 这个问题困扰了我一段时间。我必须在我的Java应用程序中加载几个文件,到目前为止,我工作的唯一方式是这样的: 但这是丑陋和可怕的。有一阵子我以为我在做这个工作: 但这由于某种原因不再起作用(我必须做些更改并且没有注意到。它返回null。 我应该使用getResource()而不是getSystemResource()(如果这样),为什么getSystemResource()是静态的却不

  • 我有一个JavaScript函数,当页面加载时打印10。 这是代码: 上述功能在页面加载时显示“10”。但是它显示在页面的顶部。 但是我想显示“10”作为html表中名为“testtitle2”的行的输入值。

  • 问题内容: 我想保留一个JSON文档来存储一些简单的数据,并且我需要此文档并在调用中使用JSON对象,以便可以使用它。这不是电话。我的意思是应该用于开发,但我确实希望在构建时编译文件,这与API 的实际调用不同,API的内容是动态的。 问题答案: 最简单的方法是为此使用requirejs json插件,这将使您也可以将文件包括在构建中。 https://github.com/millermedei