Skip to content

Instantly share code, notes, and snippets.

@bbirec
Created September 8, 2021 06:01
Show Gist options
  • Save bbirec/30f6395461edbd67283940512c6a651f to your computer and use it in GitHub Desktop.
Save bbirec/30f6395461edbd67283940512c6a651f to your computer and use it in GitHub Desktop.
SES -> SNS -> DynamoDB
var aws = require("aws-sdk");
var DynamoDB = new aws.DynamoDB.DocumentClient();
exports.handler = function (event, context, callback) {
var SnsPublishTime = event.Records[0].Sns.Timestamp;
var SESMessage = event.Records[0].Sns.Message;
SESMessage = JSON.parse(SESMessage);
var SESEventType = SESMessage.eventType;
var SESMessageId = SESMessage.mail.messageId;
var SESDestinationAddress = SESMessage.mail.destination.toString();
var LambdaReceiveTime = new Date().toString();
var params = {
TableName: "boxhero-ses",
Item: {
SESMessageId: SESMessageId,
SnsPublishTime: SnsPublishTime,
LambdaReceiveTime: LambdaReceiveTime,
Destination: SESDestinationAddress,
EventType: SESEventType,
message: SESMessage
}
}
DynamoDB.put(params, function (err) {
if (err) {
console.log(err);
callback(err)
}
else {
callback(null, '')
}
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment