Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var util = require('util');
- var AWS = require('aws-sdk');
- var mysql = require('mysql');
- var connection = mysql.createConnection({
- host: "ls-77e1472d76ad627554447c61511cf31b8998c2ce.c1ca77nowf79.us-west-2.rds.amazonaws.com",
- user: "dbmasteruser",
- password: "comp4900",
- database: "database1",
- });
- var S = new AWS.S3({ // access to S3 methods
- maxRetries: 0,
- region: 'us-west-2',
- });
- exports.handler = function(event, context, callback) {
- // Read options from the event.
- console.log("Reading options from event:\n", util.inspect(event, {depth: 5}));
- var srcBucket = event.Records[0].s3.bucket.name;
- var srcKey = event.Records[0].s3.object.key;
- // diagnostics
- console.log("srcBucket: ", srcBucket);
- console.log("srcKey: ", srcKey);
- // don't run on anything that isn't a CSV
- if (srcKey.match(/\.csv$/) === null) {
- var msg = "Key " + srcKey + " is not a csv file, bailing out";
- console.log(msg);
- return callback(null, {message: msg});
- }
- S.getObject({
- Bucket: srcBucket,
- Key: srcKey,
- }, function (err, data) {
- if (err !== null) { return callback(err, null); }
- // console.log("Raw CSV data: \n" + data.Body.toString('utf-8'));
- var lines = data.Body.toString('utf-8').split('\n');
- lines.slice(1).forEach(function (raw_line) {
- var line = raw_line.split(',');
- if (line.length < 3) { return null; }
- // console.log(line); // shows each line in csv file
- connection.query('SELECT * FROM Project WHERE Project_Name = ?', line[4], function(error, results, fields) {
- if(error) {
- throw error;
- }
- // console.log(results);
- if(results.length != 0) { // if row is found
- console.log("No insert");
- } else {
- console.log("Can insert!");
- var proj_data = {Project_Name: line[4], Project_Desc: line[5], Project_Start_Date: line[6], Project_End_Date: line[7], Active: 1, User_User_ID: 1};
- connection.query('INSERT INTO Project SET ? WHERE Project_Name = ?', [proj_data, line[4]], function (error, results, fields) {
- if (error) {
- // connection.destroy();
- throw error;
- } else {
- // connected!
- console.log(results);
- callback(error, results);
- // connection.end(function (err) { callback(err, results); });
- }
- // connection.destroy();
- });
- }
- });
- return callback(null, data);
- });
- })};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement