Невозможно получить значение атрибута / поля элемента DynamoDB в функции Lambda - PullRequest
0 голосов
/ 27 октября 2018

Я занимаюсь разработкой приложения для Android с использованием сервисов AWS в качестве серверной части. Теперь я делаю что-то в функции Lambda, когда элемент добавляется в таблицу DynamoDB. Но я не могу получить значение атрибута внутри лямбда-функции. Это то, что я сделал до сих пор.

Я создал таблицу DynamoDB из приложения Mobile Hub.

enter image description here

enter image description here

Имя таблицы - элемент.

В лямбда-функции я попытался получить значение имени таблицы элементов следующим образом.

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

Но говорится, что имя не определено. Как я могу это исправить?

Я тоже это пробовал.

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

не работает

1 Ответ

0 голосов
/ 27 октября 2018

Событие, которое вы получаете из динамо-потока БД, задокументировано здесь: https://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-ddb-update

Критически не существует ключа Item.Для события INSERT есть только клавиша NewImage.

Так что в вашем случае вы захотите:

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