AWS SNS文本消息(SMS)无法发送消息

时间:2019-11-24 13:52:25

标签: amazon-web-services amazon-s3 sms amazon-sns

我新配置了SNS,以发送SMS(文本消息)以接收有关某个主题的警报。我看到警报被触发,并且我看到所有消息均失败的SMS传递统计信息:

enter image description here

我还配置了“帐户支出限额”(认为这可能是问题所在)。仍然所有SMS消息都失败。

国家/地区已列在国家/地区列表中:

Delivery statistics by country (1)
Country        Sent    Failed    Delivery rate
Switzerland    6       6         0%

我还配置了“使用情况报告的Amazon S3存储桶名称”,但是没有任何内容保存在存储桶中。 (我使用了AWS帮助页面:https://docs.aws.amazon.com/sns/latest/dg/sms_stats_usage.htmlExample Policy-替换了我的存储桶名称。)

还是:

  • 没有发送短信
  • 没有保存每日报告
  • 基本计划帐户没有可用的AWS技术支持

如何解决此问题或继续对其进行故障排除?

更新:电子邮件SNS订阅有效(我收到了电子邮件),每次我收到电子邮件时,失败的SMS号码都会增加(因为两个订阅都处于活动状态)。 :(

2 个答案:

答案 0 :(得分:0)

SMS失败可能是由于许多原因造成的。 CloudWatch日志中针对失败消息的provider response是什么?那将是开始调试的最佳位置。

我还将根据AWS的Pinpoint Phone Validation endpoint验证端点的有效性,以查看其是否返回有效响应。

{
    "NumberValidateResponse": {
        "Carrier": "ExampleCorp Mobile",
        "City": "Seattle",
        "CleansedPhoneNumberE164": "+12065550142",
        "CleansedPhoneNumberNational": "2065550142",
        "Country": "United States",
        "CountryCodeIso2": "US",
        "CountryCodeNumeric": "1",
        "OriginalPhoneNumber": "+12065550142",
        "PhoneType": "MOBILE",
        "PhoneTypeCode": 0,
        "Timezone": "America/Los_Angeles",
        "ZipCode": "98101"
    }
}

SNS无法向PhoneType VOIP,固定电话或未知地址发送消息。如果您仍然遇到问题,可以使用CloudWatch日志编辑问题。

如果存储桶策略允许SNS向S3添加对象,我将等待几天以使其反映出来。尽管成功消息会很快记录下来,但失败消息通常会重试直到其TTL过期,因此它会在S3上显示得很晚-这也与CloudWatch日志类似。

答案 1 :(得分:0)

Cloudwatch Logs 是找出失败原因的唯一选择。 默认情况下,没有用户角色附加到 SNS,因此不记录日志!

开始记录日志

1.转到 AWS SNS 移动文本消息

2.点击编辑短信首选项

3.在交付状态记录部分创建一个新的服务角色

现在发送失败后,转到 Cloudwatch Logs 查看 json 错误响应,如下所示

{
    "notification": {
        "messageId": "xxxx-xxxxx-xxxxx-xxxx-xxx",
        "timestamp": "2021-04-08 15:37:49.919"
    },
    "delivery": {
        "destination": "+xxxxxxxxxxxx",
        "smsType": "Promotional",
        "providerResponse": "Your account requires additional review prior to being able to send SMS messages. Please create a support ticket with an explanation of your use case. https://console.aws.amazon.com/support/cases#/create?issueType=service-limit-increase&limitType=service-code-sns-text-messaging",
        "dwellTimeMs": 100
    },
    "status": "FAILURE"
}