language to be written in: Typescript
Deliverable:
The service comprises of 2 parts. 1) Parse a JSON file and update/ create rows in dynamodb. 2) the read part of the service using API gateway and URL parameters.
Part 1: Lambda script that updates or creates rows (or appends columns) based on an S3 notification.
The function will be triggered by an S3 notification whenever a JSON file is added to a bucket. That file will be a list of JSON objects in the format of:
{
'user_id': 1234,
'some_user_attribute': some_user_attribute_value
}
Then,
for every object
if user_id in db then
if user_attribute already exists for user_id -> update user attribute
else -> create a new user attribute (column) for that row
else -> create a new row with the user attributes
Part 2:
The deliverable is a fairly simple dynamo function that pulls a user_attribute for a user_id. Something like
function getUserAttribute(userId, userAttributeName){
...
return userAttributeValue
}
Delivering:
For security reasons, we can't let anybody external into our AWS instance so you'll have to build it out in your instance then send over the code for us to test along with simple instructions on how to set things up (if there are any peculiarities in setting up the s3 notification trigger)
About the recuiterMember since Jul 3, 2017 Horton
from Bergamo, Italy