Слияние JSON для импорта DynamoDB - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть два JSON имени файла firstName.json и lastName.json.

firstName. json:

 {
  "metadata":{
     "schemaVersion":"1.0",
     "importType":"LEX",
     "importFormat":"JSON"
  },
  "resource":{
     "description":"First Names",
     "name":"ASDUKfirstNames",
     "version":"1",
     "enumerationValues":[
     {
        "value":"Zeshan"
     },
     {
        "value":"Zoe"
     },
     {
        "value":"Zul"
     }
  ],
    "valueSelectionStrategy":"ORIGINAL_VALUE"
  }
}

lastName. Json:

{
  "metadata":{
     "schemaVersion":"1.0",
     "importType":"LEX",
     "importFormat":"JSON"
  },
  "resource":{
     "description":"LastNames",
     "name":"ASDUKlastNames",
     "version":"1",
     "enumerationValues":[
        {
           "value":" A Nagarajah"
        },
        {
           "value":" Aamir"
        },
        {
           "value":" Abberley"
        }
  ],
    "valueSelectionStrategy":"ORIGINAL_VALUE"
  }
}

В настоящее время я извлекаю имена из firstName.json и подготавливаю их для импорта в DynamoDB, используя python3 примерно так:

import boto3
import json

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

first = 'firstNames.json'

with open(first) as f:
  data = json.loads(f.read())

for enumeration_value in data['resource']['enumerationValues']:
  ddb_item = {
    "CustomerID": 0000,
    "FirstName": enumeration_value['value']
  }`

  table.put_item(Item=ddb_item)

Возможно ли:

а) объединить два JSON файла и также включить "LastName": enumeration_value['value'] в ddb_item?

б) создать автоматически увеличивающееся число CustomerID в DynamoDB или у меня есть использовать UUID?

...