AWS Lambda Emulator (run the function in your dev env)

JS
S
JavaScript

Neat way to develop your lambda functions // How to Run // NODE_ENV=staging node aws_lambda_runner.js // NODE_ENV=staging node debug aws_lambda_runner.js

1// aws_lambda_runner.js
2console.log('AWS LAMBDA RUNNER - Exact API Messenger ENVIRONMENT: ',process.env.NODE_ENV);
3const app = require('./daily-sender.js');
4app.handler({},{},(err, data) => {
5    if(err){
6        console.log(err);
7        // process.exit(1);
8    } else {
9        // process.exit(0);
10    }
11});
12
13
14
15// index.js
16"use strict";
17const epa = require('epa').getEnvironment();
18const awsConfig = epa.get('aws');
19const nanit = require('nanit');
20const reportStuff = require('./lib/mongo/report_stuff');
21// ignore invalid SSL certificate
22process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
23
24function init(awsCallback) {
25    reportStuff(awsCallback);
26}
27
28exports.handler = (event, context, awsCallback) => {
29    context.callbackWaitsForEmptyEventLoop = false;
30
31    // Initialization Middleware (via Nanit)
32    // -----------------------------
33    nanit.initialize((err) =>{
34        if(err) { awsCallback(err); }
35        init(awsCallback);
36    });
37};

Created on 1/8/2018