Skip to content

Instantly share code, notes, and snippets.

@martimatix
Last active May 21, 2022 18:38
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save martimatix/06481e1321ab99bf4a501705235b261f to your computer and use it in GitHub Desktop.
Save martimatix/06481e1321ab99bf4a501705235b261f to your computer and use it in GitHub Desktop.
Writing data to Dynamodb from Serverless
'use strict';
const doc = require('dynamodb-doc');
const dynamo = new doc.DynamoDB();
const Q = require('kew');
module.exports.handler = (event, context, callback) => {
function putItem() {
const defer = Q.defer();
const query = event.queryStringParameters;
const params = {
TableName: 'test',
Item: {
customerId: query.customerId,
durationInHours: parseInt(query.durationInHours),
}
};
dynamo.putItem(params, defer.makeNodeResolver());
return defer.promise;
}
function response(data, statusCode) {
const response = {
statusCode: statusCode,
body: JSON.stringify({
data: data,
input: event,
}),
};
callback(null, response);
}
putItem()
.then(data => response(data, 200))
.fail(err => response(err, 500));
};
customerId=abc&durationInHours=447
service: aws-nodejs
provider:
name: aws
runtime: nodejs4.3
stage: dev
region: ap-southeast-2
iamRoleStatements:
- Effect: "Allow"
Action:
- dynamodb:GetItem
- dynamodb:BatchGetItem
- dynamodb:Query
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
- dynamodb:BatchWriteItem
Resource: "arn:aws:dynamodb:ap-southeast-2:*:*"
functions:
hello:
handler: index.handler
events:
- http:
path: index
method: post
@dbaldw10
Copy link

im struggling greatly with this. is there any chance you are available for some help????? thanks! twitter or here. my twitter handle is fullstack_dev88

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment