1. Create a bin/ directory inside your project directory.
2. Statically compile your binary as much as possible. Put it inside your bin/ directory. Put any shared libraries that it needs inside the bin/ directory too.
3. chmod +x bin/hello-world-binary
4. Do something like:
'use strict';
const exec = require('child_process').exec;
process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'] + '/bin';
process.env['LD_LIBRARY_PATH'] = process.env['LAMBDA_TASK_ROOT'] + '/bin';
exports.handler = (event, context, callback) => {
const cmd = 'hello-world-binary';
const child = exec(cmd, (error) => {
callback(error, 'Process complete!');
});
child.stdout.on('data', console.log);
child.stderr.on('data', console.error);
};
5. ZIP your project directory and upload to AWS Lambda. Enjoy!
No comments:
Post a Comment