Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
console.log('Loading event');
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB();
exports.handler = function(event, context) {
console.log("Request received:\n", JSON.stringify(event));
console.log("Context received:\n", JSON.stringify(context));
var tableName = "OurBlogDemo";
var datetime = new Date().getTime().toString();
dynamodb.putItem({
"TableName": tableName,
"Item": {
"device": {
"S": event.device
},
"timedate": {
"N": datetime
},
"latitude": {
"N": event.lat
},
"longitude": {
"N": event.lon
}
}
}, function(err, data) {
if (err) {
context.fail('ERROR: Dynamo failed: ' + err);
} else {
console.log('Dynamo Success: ' + JSON.stringify(data, null, ' '));
context.succeed('SUCCESS');
}
});
}
@barrettclark

This comment has been minimized.

Show comment Hide comment
@barrettclark

barrettclark Feb 9, 2016

Thanks for the example. Here is an updated version. I changed the table name to devices. The DynamoDB setup has changed a little. I just went with a simple key on device.

console.log('Loading event');
var doc = require('dynamodb-doc');
var dynamodb = new doc.DynamoDB();

exports.handler = function(event, context) {
    console.log("Request received:\n", JSON.stringify(event));
    console.log("Context received:\n", JSON.stringify(context));

    var tableName = "devices";
    var datetime = new Date().getTime().toString();
    var item = {
        "device": event.device, 
        "timedate": datetime,
        "latitude": event.lat,
        "longitude": event.lon
    };
    console.log("Item:\n", item);

    dynamodb.putItem({
            "TableName": tableName,
            "Item": item
        }, function(err, data) {
            if (err) {
                context.fail('ERROR: Dynamo failed: ' + err);
            } else {
                console.log('Dynamo Success: ' + JSON.stringify(data, null, '  '));
                context.succeed('SUCCESS');
            }
        });
}

Thanks for the example. Here is an updated version. I changed the table name to devices. The DynamoDB setup has changed a little. I just went with a simple key on device.

console.log('Loading event');
var doc = require('dynamodb-doc');
var dynamodb = new doc.DynamoDB();

exports.handler = function(event, context) {
    console.log("Request received:\n", JSON.stringify(event));
    console.log("Context received:\n", JSON.stringify(context));

    var tableName = "devices";
    var datetime = new Date().getTime().toString();
    var item = {
        "device": event.device, 
        "timedate": datetime,
        "latitude": event.lat,
        "longitude": event.lon
    };
    console.log("Item:\n", item);

    dynamodb.putItem({
            "TableName": tableName,
            "Item": item
        }, function(err, data) {
            if (err) {
                context.fail('ERROR: Dynamo failed: ' + err);
            } else {
                console.log('Dynamo Success: ' + JSON.stringify(data, null, '  '));
                context.succeed('SUCCESS');
            }
        });
}
@oraclepeopletools

This comment has been minimized.

Show comment Hide comment
@oraclepeopletools

oraclepeopletools Feb 15, 2016

Thank You so much for this-it has enormous value when combined with additional tutorials

Thank You so much for this-it has enormous value when combined with additional tutorials

@Divyaganapathy

This comment has been minimized.

Show comment Hide comment
@Divyaganapathy

Divyaganapathy Mar 25, 2016

Hi, thanks for the code. I want to know how to store and retrieve photo url in dynamodb from s3?

Hi, thanks for the code. I want to know how to store and retrieve photo url in dynamodb from s3?

@mi5guided

This comment has been minimized.

Show comment Hide comment
@mi5guided

mi5guided Apr 18, 2016

Wow - your blog and this code was crazy helpful. Thank you!

Wow - your blog and this code was crazy helpful. Thank you!

@cameck

This comment has been minimized.

Show comment Hide comment
@cameck

cameck Sep 29, 2016

Thanks for this, great example. I never thought of using API gateway. I'm just curious what you are doing if any records fail for whatever reason to insert into DynamoDB?

cameck commented Sep 29, 2016

Thanks for this, great example. I never thought of using API gateway. I'm just curious what you are doing if any records fail for whatever reason to insert into DynamoDB?

@imewish

This comment has been minimized.

Show comment Hide comment
@imewish

imewish Oct 26, 2016

Hello,

Im trying to pass some params like this,

const params = {
        uuid: generateUUID().uuid,
         status: "new",
         owner: r.format.filename.split("/")[3],
         file_size: r.format.size,
         duration: r.format.duration,
         master_file: {
            duration: r.format.duration,
            format: {
                bitrate: r.format.bitrate
            }
         }
}


but when it comes to table,

format: {
bitrate: r.format.bitrate
}

it comes as empty.

Any idea why?

helps would be appreciated.

screen shot 2016-10-26 at 4 18 19 pm

imewish commented Oct 26, 2016

Hello,

Im trying to pass some params like this,

const params = {
        uuid: generateUUID().uuid,
         status: "new",
         owner: r.format.filename.split("/")[3],
         file_size: r.format.size,
         duration: r.format.duration,
         master_file: {
            duration: r.format.duration,
            format: {
                bitrate: r.format.bitrate
            }
         }
}


but when it comes to table,

format: {
bitrate: r.format.bitrate
}

it comes as empty.

Any idea why?

helps would be appreciated.

screen shot 2016-10-26 at 4 18 19 pm

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