Skip to content

Instantly share code, notes, and snippets.

@obie
Created November 29, 2015 19:17
Show Gist options
  • Save obie/6510d98185088c2b2baa to your computer and use it in GitHub Desktop.
Save obie/6510d98185088c2b2baa to your computer and use it in GitHub Desktop.
console.log('Loading function');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
/**
* Provide an event that contains the following keys:
*
* - operation: one of the operations in the switch statement below
* - tableName: required for operations that interact with DynamoDB
* - payload: a parameter to pass to the operation being performed
*/
exports.handler = function(event, context) {
//console.log('Received event:', JSON.stringify(event, null, 2));
var operation = event.operation;
if (event.tableName) {
event.payload.TableName = event.tableName;
}
switch (operation) {
case 'create':
dynamo.putItem(event.payload, context.done);
break;
case 'read':
dynamo.getItem(event.payload, context.done);
break;
case 'update':
dynamo.updateItem(event.payload, context.done);
break;
case 'delete':
dynamo.deleteItem(event.payload, context.done);
break;
case 'list':
dynamo.scan(event.payload, context.done);
break;
case 'echo':
context.succeed(event.payload);
break;
case 'ping':
context.succeed('pong');
break;
default:
context.fail(new Error('Unrecognized operation "' + operation + '"'));
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment