Amazon SNS не доставил сообщение от лямбда-триггера - PullRequest
0 голосов
/ 03 июня 2019

Я написал ниже лямбда-код для отправки SMS. SMS создано, но SMS не доставлено на устройства. Я думаю, что он застрял в очереди SNS или Lambda триггера.

let AWS = require('aws-sdk');
const sns = new AWS.SNS();

exports.handler = async (event, callback) => {
  if (!event.request.session || event.request.session.length === 0) {
    const phone = event.request.userAttributes.phone_number
    const otp = Math.floor(100000 + Math.random() * 900000)
    const message = "OTP to login to Stable is "+otp

    sns.publish({
        Message: message,
        MessageAttributes: {
            'AWS.SNS.SMS.SMSType': {
                DataType: 'String',
                StringValue: 'Transactional'
            },
            'AWS.SNS.SMS.SenderID': {
                DataType: 'String',
                StringValue: 'sender'
            },
        },
        PhoneNumber: phone
    }).promise()
        .then(data => {
            console.log("Sent message to", phone);
            callback(null, data);
        })
        .catch(err => {
            console.log("Sending failed", err);
            callback(err);
        });


    event.response.privateChallengeParameters = {
      answer: otp
    };
    event.response.challengeMetadata = "CUSTOM_CHALLENGE";

  }
  console.log('raja');
  console.log(event);
  return event;
};

Как получить сообщение в устройстве? Есть какая-то конфигурация отсутствует?

1 Ответ

0 голосов
/ 04 июня 2019
Линия

return event; возвращается до завершения обратного вызова SNS, @kulls подтвердила, что удаление этой строки решило проблему

...