Я хочу разобрать jsonfile, который выглядит так:
{
"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
},
динамоде в 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
Марвин