Skip to content

Instantly share code, notes, and snippets.

@khalidbourhaba
Created May 24, 2020 22:01
Show Gist options
  • Save khalidbourhaba/08db3261d02698f1dcda1a694f5fac49 to your computer and use it in GitHub Desktop.
Save khalidbourhaba/08db3261d02698f1dcda1a694f5fac49 to your computer and use it in GitHub Desktop.
lambda function
var aws = require('aws-sdk');
var ddb = new aws.DynamoDB();
exports.handler = async (event, context) => {
let date = new Date();
var tableName = 'User-oeky4hdaijah5b4deuz3c3l62u-dev' // or set dynamic via process.env
// If the required parameters are present, proceed
if (event.request.userAttributes.sub) {
// -- Write data to DDB
let ddbParams = {
Item: {
'id': {S: event.request.userAttributes.sub},
'__typename': {S: 'User'},
'name': {S: event.request.userAttributes.name},
'email': {S: event.request.userAttributes.email},
'createdAt': {S: date.toISOString()},
'updatedAt': {S: date.toISOString()},
},
TableName: tableName
};
// Call DynamoDB
try {
await ddb.putItem(ddbParams).promise()
console.log("Success");
} catch (err) {
console.log("Error", err);
}
console.log("Success: Everything executed correctly");
context.done(null, event);
} else {
// Nothing to do, the user's email ID is unknown
console.log("Error: Nothing was written to DDB or SQS");
context.done(null, event);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment