无法使用AWS SNS发送SMS

时间:2019-06-17 10:37:56

标签: amazon-web-services amazon-sns

我想使用AWS SNS服务将SMS发送到印度号码。我正在使用node.js代码触发SNS API发送短信。短信发送成功率太低。

不确定该怎么做。

我检查了帖子AWS SNS is not sending SMS anymoreAmazon SNS -- Change Sender ID 另外,在AWS论坛上引发查询-https://forums.aws.amazon.com/thread.jspa?threadID=303941

但无法获取任何指针。完成的事情还很少:

  1. 短信最高价格提高至5美元
  2. Cloudwatch也不显示实时日志。
  3. SMS API没有给出任何错误

这是我的代码:

exports.sendSMS = function(msg, phoneNumber){
phoneNumber = "+91" + phoneNumber;

setMessageAttributes();
createSubscription(phoneNumber);

var params = {
  Message: msg,
  PhoneNumber: phoneNumber
};

// Create promise and SNS service object
var publishTextPromise = sns.publish(params).promise();

// Handle promise's fulfilled/rejected states
publishTextPromise.then(
  function(data) {
    console.log("MessageID is , SMS sent ------" + data.MessageId);
    console.log("JSON.stringify ------" + JSON.stringify(data));
    }).catch(
        function(err) {
        console.error(err, err.stack);
    });
  }

function setMessageAttributes(){
var messageParams = {
  attributes: {
    'DefaultSMSType': 'Transactional',//Also tried setting this to OTP, no use
    'DefaultSenderID': 'DevCare',
    }
};

function createSubscription(endpoint){
// Create subscribe/email parameters
var subscribeParams = {
  Protocol: 'SMS',
  TopicArn: 'arn:aws:sns:us-east-1:xxxxxxx:US-xxxx', 
  Endpoint: endpoint
};

这是失败的SMS响应的样子:

  

订阅ARN为arn:aws:sns:us-east-1:351564314200:US-sendSMS:0725db58-xxxc-4764-af31-6825xxxxxx   MessageID为------ d5212bf1-9183-5da4-826e-7e96a48xxxxx   JSON.stringify ------ {“ ResponseMetadata”:{“ RequestId”:“ 5d9bxxx9-319d-52b4-8979-xxxxxxxx”},“ MessageId”:“ d521xxxxf1-91xx-5da4-826e-xxxxxxxx”}

我们非常感谢您的帮助。这样我就可以选择是否继续使用AWS SNS API。

0 个答案:

没有答案