UNPKG

asksuite-core

Version:
35 lines (29 loc) 785 B
const AWS = require('aws-sdk'); const _ = require('lodash'); class AWSLambdaCaller { constructor(awsConfig, otherParams = {}) { this.otherParams = _.chain(awsConfig) .cloneDeep() .assign(otherParams || {}) .value(); } async call(jsonObj, functionName) { const lambda = new AWS.Lambda(this.otherParams); const params = { FunctionName: functionName, Payload: JSON.stringify(jsonObj), }; try { return await lambda .invoke(params) .promise() .then(value => { return JSON.parse(value.Payload); }); } catch (e) { console.warn('Error, cannot invoke lambda ' + functionName, e); throw e; } } } module.exports = AWSLambdaCaller;