lambda-stash
Version:
AWS Lambda script for shipping data from S3 or other cloud data sources to data stores, like Elasticsearch
41 lines (39 loc) • 959 B
JavaScript
exports.process = function(config) {
console.log('formatCloudfront');
var output = [];
var fields = [];
var numRows = config.data.length;
var numCols;
var i;
var j;
var row;
var item;
var label;
for (i = 0; i < numRows; i++) {
row = config.data[i];
numCols = row.length;
if (numCols === 1) {
row = row[0];
var pos = row.indexOf('#Fields: ');
if (pos !== -1) {
row = row.substr(pos + 9);
fields = row.split(" ");
}
} else if (numCols) {
item = {};
for (j = 0; j < numCols; j++) {
label = (j < fields.length) ? fields[j] : String(j);
item[label] = row[j];
}
if (config.dateField) {
if (config.dateField === 'date') {
item.originalDate = item.date;
}
item[config.dateField] = item.date + 'T' + item.time;
}
output.push(item);
}
}
config.data = output;
return Promise.resolve(config);
};