我想解析一个看起来像json文件:
{
"Accounts": [
{
"Id": "XXXXXXXXX",
"Arn": "arn",
"Email": "a@b.com",
"Name": "name1",
"Status": "ACTIVE",
"JoinedMethod": "CREATED",
"JoinedTimestamp": 1551173144.078
},
{
"Id": "XXXXXXXX",
"Arn": "arn",
"Email": "b@d.com",
"Name": "Name2",
"Status": "ACTIVE",
"JoinedMethod": "INVITED",
"JoinedTimestamp": 1462800156.0
},
通过lambda进入AWS中的动力发电机。
我可以通过以下方式上传一行:
table = dynamodb.Table('list')
table.put_item(Item=jsonDict)
因此,我从文件中复制了一个数组(?!)到一个新文件中。 现在我想使用批量上传,但是出现了一些错误,主要是: [错误] JSONDecodeError:额外数据:第1行第257列(字符256) 要么 参数RequestItems.accountlist [0] .PutRequest.Item的类型无效,值:帐户,类型:,有效类型:
我有以下代码:
bucket=event['Records'][0]['s3']['bucket']['name']
json_filename = event ['Records'][0]['s3']['object']['key']
json_object = s3_client.get_object(Bucket=bucket, Key=json_filename)
jsonFileReader = json_object['Body'].read()
jsonDict = json.loads(jsonFileReader)
table = dynamodb.Table('list')
#table.put_item(Item=jsonDict)
items = json.load(jsonFileReader)
with table.batch_writer() as batch:
# Loop through the JSON objects
for item in items:
batch.put_item(Item=item)
我也尝试过删除json文件中的嵌套对象,但是没有成功。 有什么建议么。 KR 马文