Я работаю над проектом AWS, архитектура которого похожа на SQS-> Lambda -> DynamoDB. Я пытаюсь сделать это, используя NodeJS. Таблица DynamoDB имеет несколько полей, таких как - id, name, email. Хотя мне удалось захватить события из очереди SQS, я не могу развернуть событие и извлечь отдельные поля.
Я сделал ниже кодирования для захвата событий SQS.
exports.handler = async (event) => {
event.Records.forEach(record => {
const { body } = record;
console.log(record.studid,record.studname); // not working
});
return `Successfully processed ${event.Records.length} messages.`;
};
Вот я не понимаю, как извлечь отдельные поля, такие как studid или studname, которые мне нужно добавить в Item перед вставкой / обновлением в DynamoDB. Я передал следующее сообщение в test-
{
"Records": [
{
"messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78",
"receiptHandle": "MessageReceiptHandle",
"body": [
{
"studid": "1",
"studname": "JOHN"
},
{
"studid": "2",
"studname": "BILL"
}
],
"attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "1523232000000",
"SenderId": "123456789012",
"ApproximateFirstReceiveTimestamp": "1523232000001"
},
"messageAttributes": {},
"md5OfBody": "7b270e59b47ff90a553787216d55d91d",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:us-west-2:123456789012:MyQueue",
"awsRegion": "us-west-2"
}
]
}
Пожалуйста, сообщите. Я новичок в AWS. Также, шаговая функция будет хорошей идеей для реализации в этой архитектуре?