无法在Lambda函数中检索DynamoDB项的属性/字段值

时间:2018-10-27 17:44:19

标签: amazon-web-services aws-lambda amazon-dynamodb

我正在开发使用AWS服务作为后端的Android应用程序。现在,当将项目添加到DynamoDB表时,我正在Lambda函数中执行某些操作。但是我无法在lambda函数中检索属性值。这是我到目前为止所做的。

我从Mobile Hub应用程序创建了一个DynamoDB表。

enter image description here

enter image description here

表名是项目。

在lambda函数中,我试图像这样检索项目表的名称值。

if (record.eventName == 'INSERT') {
     var name = record.dynamodb.item.Name.S
}

但这是说名称未定义。我该如何解决?

我也尝试过。

record.dynamodb['thegoodyardandroid-mobilehub-330286608-item'].Name.S

不起作用

1 个答案:

答案 0 :(得分:1)

您从发电机db流中获取的事件记录在这里:https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-ddb-update

关键是没有Item键。对于INSERT事件,只有一个NewImage键。

因此,您需要这样做:

var name = record.dynamodb.NewImage.Name.S