2016-09-20 107 views
2

我正在写一个简单的程序,使用JavaScript客户端使用SNS服务发送SMS。获得AWS SNS的成功响应,但SMS未送达

var AWS = require('aws-sdk'); 
var sns = new AWS.SNS({ 
    region : 'ap-southeast-1', 
    accessKeyId: '', 
    secretAccessKey: '' 
}); 
sns.publish({ 
     Message : "Test message", 
     PhoneNumber : "Test number" 
    }, function (err, data) { 
     if(err) { 
      console.log("Error - " + err); 

     } 
     else { 
      console.log('Success - '); 
      console.log(data); 

     } 

    }); 

我获得成功和数据的模样

{ ResponseMetadata: { RequestId: '3b4e8c82-976c-55da-b1fa-dcd9ddc7254d' }, 
    MessageId: '47a38cbe-2047-5056-a615-dce56aecc0c1' } 

但是,SMS不会被发表。

可能是什么问题?

+1

你试过用aws控制台吗? –

+0

@Abdul Manaf - 是的。 –

+0

如果它工作或没有? –

回答

2

消息在24日之后开始交付新鲜请求。指标仪表板每天都会显示数据。在仪表板上它正确地显示所有的短信发送在9月21日都失败了,尽管API有积极的回应。这让我重新考虑了我使用SNS进行SMS的决定。

谢谢所有帮助。

+1

我添加此评论,以防其他人帮助。 在撰写本文时,在javascript sdk中,如果您不用“+1”加前缀电话号码,您将获得AWS成功,但不会发送该邮件。 有一次,我加了它开始工作的加号。 感谢关于控制台在线程中的评论......它让我想起了该用例中电话号码的格式。 –

+1

@ E.Maggini你的评论清除了这个问题,为我感谢你!这么简单,但我无法找到任何可以提供此信息的信息。我不认为SNS的AWSJavaScriptSDK文档指定它需要格式为'+1',但它应该! –

0

我们需要指定更多的SNS参数。

文档页面,这可能有助于:

试试这个代码

var AWS = require('aws-sdk'); 
var sns = new AWS.SNS({ 
    region: 'ap-southeast-1', 
    accessKeyId: '', 
    secretAccessKey: '' 
}); 


var params = { 
    Message: 'Test message', 
    MessageStructure: 'string', 
    PhoneNumber: 'Test number' 
}; 
sns.publish(params, function (err, data) { 
    if (err) console.log("error-> " + err + "-" + number + "-" + JSON.stringify(params)); // an error occurred 
    else console.log("SMS to " + number + " successfull " + JSON.stringify(data));   // successful response 
}); 

你有输出这样

{"ResponseMetadata":"RequestId":"2bb91f08-3ef0-5e55-8219-4645645"},"MessageId":"943a1224-042c-576c-936e-sfsdf34535"} {"Message":"hai manaf...r u happy","MessageStructure":"string","PhoneNumber":"+9197********"}. 

但我没有收到短信给我的免打扰电话号码。我仍然研究这个问题。

+0

请让我知道我错过的那些。我可以看到SNS是高度可配置的,但我没有看到我错过的任何必填字段。 –

+0

请回复状态 –

+0

我试过了你的代码。结果相同。没有短信。看起来代码不是问题。其他事情出错了。我会继续调查。谢谢你的帮助。 –

0

你的aws-sdk版本是什么? 尝试更新最新的一个。

+0

这是最新版本NPM –