in lib/transformation.js [30:61]
function transformDDBRecord(record, target, callback) {
try {
var entry = (record.dynamodb.hasOwnProperty("NewImage") ? record.dynamodb.NewImage : {});
var object = target.convertDDB ? DDB.parseDynamoDBObject(entry) : entry;
var data = new Buffer(JSON.stringify(object) + (target.appendNewlines ? "\n" : ''), 'utf-8');
var keys = Object.keys(record.dynamodb.Keys);
var keyEntry = DDB.parseDynamoDBObject(record.dynamodb.Keys);
var key = "";
// Concatenate the keys with a '|' separator
for(var i = 0; i < keys.length; ++i) {
if(Buffer.isBuffer(keyEntry[keys[i]])) {
key = key + (i > 0 ? "|": "") + (keyEntry[keys[i]].toString('base64'));
} else {
key = key + (i > 0 ? "|": "") + (keyEntry[keys[i]]);
}
}
callback(null, [{
"key": key,
"sequenceNumber": record.dynamodb.SequenceNumber,
"subSequenceNumber": 0,
"data": data,
"size": data.length,
"action": record.eventName,
"source": record.eventSource,
"region": record.awsRegion
}]);
} catch(e) {
console.error("Unable to deserialize DynamoDB record, removing it:", e.stack);
callback(null, []);
}
}