Want to reduce chafing when using Sails actions inside of AWS Lambda? Baggywrinkle is the answer!
Baggywrinkle builds a modified version of a machine that proxies its inputs from the Lambda function's event
argument, and proxies its exits through the Lambda function's callback. It is intended to be used with Lambda functions that are triggered via the AWS API Gateway (that is, via HTTP requests).
$ npm install baggywrinkle --save
var lambdaFunction = require('baggywrinkle')(actionMachine);
// handler.js
var asLambda = require('baggywrinkle');
module.exports = asLambda({
inputs: {
name: {
example: 'Joe',
description: 'The person to greet'
}
},
exits: {
success: {
statusCode: 200,
description: 'Greeting was successful!'
}
}
fn: function (inputs, exits) {
return exits.success(`Hello ${inputs.name}!`);
}
});
Note that the input to Baggywrinkle can be either:
- a machine definition compatible with machine-as-action or
- a machine instance generated by machine-as-action
For available options, see the machine-as-action documentation. Note however that Baggywrinkle does not currently support:
- The
view
response type - The
redirect
response type - Custom Sails response types such as
badRequest
- File uploads
- Streaming
To report a bug, click here.
Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.
MIT © 2015-2016 The Sails Company
The Sails framework is free and open-source under the MIT License.