Ваша лямбда-функция получит Событие записи потоков DynamoDB (см. Использование AWS Lambda с Amazon DynamoDB для примера события).
Вы собираетесь отобразить/ Зацикливайтесь на клавише Records
, где вы найдете объекты с eventName: INSERT
.Внутри клавиши dynamodb
вы найдете данные таблицы, которые вы должны обработать, в коде вашей функции Lamdba.
{
"Records": [
{
"eventID": "1",
"eventVersion": "1.0",
"dynamodb": {
"Keys": {
"Id": {
"N": "101"
}
},
"NewImage": {
"Message": {
"S": "New item!"
},
"Id": {
"N": "101"
}
},
"StreamViewType": "NEW_AND_OLD_IMAGES",
"SequenceNumber": "111",
"SizeBytes": 26
},
"awsRegion": "us-west-2",
"eventName": "INSERT",
"eventSourceARN": eventsourcearn,
"eventSource": "aws:dynamodb"
}
]
}
В вашем случае данные должны быть расположены по адресу Records[0].dynamodb.NewImage.name.S
Если вы работаете с Node.js и смешанными типами в вашей таблице, я предлагаю использовать AWS.DynamoDB.Converter.unmarshall
, которая преобразует запись DynamoDB в объект JavaScript.Это позволяет вам сделать что-то вроде этого:
const newImage = DynamoDB.Converter.unmarshall(event.Records[0].dynamodb.NewImage);