Ошибка в AWS лямбда-функции при передаче объектов SQS для вставки / обновления DynamoDB - PullRequest
0 голосов
/ 04 мая 2020

Я работаю над проектом 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. Также, шаговая функция будет хорошей идеей для реализации в этой архитектуре?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...