自两天前以来,我一直在使用Amazon SNS发送短信。我没有任何改变。即使我尝试从控制台发送短信,也仍然无法正常工作。
最近几天我的交货率只有35%,但是从昨天开始,它根本无法正常工作。
答案 0 :(得分:1)
有多种方法可以解决此问题。这是AWS Developer Forum中解决的问题。请通过以下步骤解决此问题。这些可能是基本步骤,但我指出了所需的最一般步骤。
地方法律和法规要求的地方(例如美国和 加拿大),短信接收者可以选择退出,这表示他们选择 停止从您的AWS账户接收SMS消息。
对于“帐户支出限额”,请输入所需的最大美元金额 每个日历月花费在短信上。当Amazon SNS 确定发送SMS消息将产生超过 您当月的支出限额,Amazon SNS停止发布短信 在几分钟之内发送邮件。
答案 1 :(得分:1)
从昨天开始,消息已完全停止发送,因此您可能已达到帐户的SNS SMS支出限额。默认情况下,AWS区域中的AWS账户为1美元。您应该增加限额。
但是在将来,如果您想防止这种情况发生,即如果您想在达到帐户的实际SMS支出限额之前提前得到通知,则可以事先增加该限额。这样,由于达到限制,您将不会遇到SMS传递问题。您可以在SMSMonthToDateSpentUSD指标上创建CloudWatch警报。
答案 2 :(得分:1)
我的情况是一切正常,突然间 SMS 没有通过 nodejs 代码。经过上面的回复后 - 我找不到配额的任何问题。尝试从控制台发送消息有效。
第 1 点 - 通过云监视,这是响应:
{
"notification": {
"messageId": "ab4c51a2-d31c-5ba9-8c80-088d03fb0fbf",
"timestamp": "2021-06-01 06:07:35.925"
},
"delivery": {
"destination": "<Removed>",
"smsType": "Transactional",
"providerResponse": "total SMS message price 0.02171 is greater than requested Max price 0.003",
"dwellTimeMs": 81
},
"status": "FAILURE"
}
因此,某些面临此问题的人实际上可能遇到了此问题。由于您指定了最高价格,您愿意为发送的 SMS 付费 - 当价格不合适时,它就会失败。
您可以在这里查看 - https://aws.amazon.com/sns/sms-pricing/
我的问题 - 对于任何遇到此问题/可以提供帮助的人
就我而言,适用的价格是非国际价格 - 来自印度 - 印度 - 0.00278 美元,为了更安全,我已将费率指定为 0.003 美元。然而,出于某种奇怪的原因——现在价格上涨到 0.02171 美元——即用于国际消息传递。
请告诉我是否有办法将其限制为国际/国内 - 当问题出现时,我没有更改 AWS 设置/我自己的代码中的任何内容。
编辑 1:
提前致谢。
答案 3 :(得分:0)
+1
+ areacode
+ 7-digits
-它会失败。 (注意+1
前缀!)答案 4 :(得分:0)
我期待同样的问题,并通过更改代码上的区域得到了解决。转到您的 AWS 控制台(您在其中创建 aws 密钥的控制台),打开 SNS 并检查哪个区域出现在控制台的右上角,然后在您的代码中使用此区域 ID。我不知道为什么,但它解决了我的问题......希望对你有帮助。
答案 5 :(得分:0)
我也一直在努力解决这个问题。我注意到 SNS 服务顶部有一个横幅,上面写着:
<块引用>向美国目的地发送短信 (SMS) 的重要变化 自 2021 年 6 月 1 日起,美国电信提供商不再支持 用于向美国发送 SMS 消息的个人对个人 (P2P) 长代码 目的地。要继续向美国目的地发送 SMS 消息, 注册并使用有效的原始 ID。了解详情
所以基本上这意味着如果你想向美国电话号码发送短信,你必须使用 Pinpoint 设置一个“原始 ID”,它可以是一个免费电话号码。它们每月花费 2 美元,并且可以立即创建。请注意,您应该在 Cognito 在幕后使用的区域内创建它。例如,我在 US-East-2 区域部署了 Cognito,但 Cognito 实际上会使用来自 US-East-1 的 SNS 服务,因此我在那里创建了原始 ID,一切又重新开始工作。
我希望这对其他人有帮助!