SQS сообщение не отправляется - PullRequest
0 голосов
/ 21 мая 2019

У меня есть функция, которая добавляет элемент в мою динамо-базу данных, и я также хотел бы, чтобы он отправлял элемент в мою очередь sqs, чтобы я мог поместить его в другую лямбда-функцию.Когда я запускаю свой код, данные помещаются в базу данных, но не отправляются в очередь.Я даже не получаю сообщение об ошибке.

import * as dynamoDbLib from "./libs/dynamodb-lib";
import { success, failure } from "./libs/response-lib";
import AWS from 'aws-sdk';
const sqs = new AWS.SQS();

export async function main(event, context) {
  const data = JSON.parse(event.body);

  console.log(data);
  var site = "IE"+data.siteCounty+data.siteName;
  var siteIdStripped = site.replace(/[aeiou]/g, '');
  var siteId = siteIdStripped.replace(/ /g,'');
  var siteIdFinal = siteId.toUpperCase();

  const params = {
    "TableName": "sites",
    "Item": {
      userId: event.requestContext.identity.cognitoIdentityId,
      siteId: siteIdFinal,
      ...data,
      createdAt: Date.now()
    }
  };

  const messageParams = {
    MessageBody: params.Item,
    QueueURL: 'https://sqs.eu-west-1.amazonaws.com/106845550704/TranslateText'
  };

  function sendMessage(messageParams) {
    sqs.sendMessage(messageParams, (err, data) => {
      if (err) {
        console.log("Error: "+err);
      } else {
        console.log("Success: "+data.MessageId);
      }
    });
  }

  try {
    await dynamoDbLib.call("put", params);
    sendMessage(messageParams);
    return success(params.Item);
  } catch (e) {
    console.log(e);
    return failure({ status: false });
  }


}


...