Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何访问 SMS 消息的 Amazon SNS 主题传输日志?
我想访问 SMS 消息的 Amazon Simple Notification Service(Amazon SNS)主题传输日志。
解决方法
为 Amazon CloudWatch Logs 配置 SMS 传输状态属性
**注意:**作为以下控制台操作步骤的替代方案,您可以使用 AWS SDK 或 AWS 命令行界面(AWS CLI)配置消息发送状态。如果您在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
-
打开 Amazon SNS 控制台。
-
在导航窗格上,展开移动,然后选择文本消息(SMS)。
-
在文本消息发送首选项部分,选择编辑。
-
展开传输状态日志记录 - 可选。
-
对于成功采样率,在 % 文本框中输入 100。
**注意:**成功采样率是成功传输到日志的消息的百分比。
-
在 IAM 角色部分中,对于服务角色,选择创建新的服务角色,然后选择创建新角色。系统会打开 AWS Identity and Access Management(IAM)控制台。
注意:如果您已经拥有具有正确权限的 IAM 角色,则改为选择使用现有服务角色来使用该服务角色。
-
在 IAM 控制台权限请求页面上,选择允许。
-
返回 Amazon SNS 控制台后,选择保存更改。
这为成功和失败的传输创建了一个 IAM 角色,并为 Amazon SNS 创建了以下策略和信任关系。
IAM 角色:
arn:aws:iam::1111111111:role/SNSSuccessFeedback
策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy" ], "Resource": [ "*" ] } ] }
信任关系:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
查看传输状态日志
-
在导航窗格中,选择日志,然后选择日志组。
-
在筛选搜索框中,输入 DirectPublishToPhoneNumber 以仅查找 Amazon SNS 的 SMS 日志组。
注意: 根据目标电话号码运营商的不同,传输日志最多可能需要 72 小时才会显示在 Amazon SNS 控制台中。
例如:
sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber 日志组包含成功传输日志:
sns/us-east-1/1111111111/DirectPublishToPhoneNumber
成功传输日志示例:
{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 310, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 599, "dwellTimeMsUntilDeviceAck": 1344 }, "status": "SUCCESS" }
sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber/Failure 日志组包含失败传输日志:
sns/us-east-1/1111111111/DirectPublishToPhoneNumber/Failure
失败传输日志示例:
{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }
-
选择要查看的 SNS 日志组。
-
在日志流选项卡上,选择特定的日志流以查看 SMS 传输日志。
-
要查看您的 SMS 的传输状态,请展开日志事件并检查 providerResponse。
查看已退出的电话号码
接收者可以选择不在手机上接收其 AWS 账户的 SMS 消息。有关更多信息,请参阅 Opting out of receiving SMS messages。
- 打开 Amazon SNS 控制台。
- 在导航窗格上,展开移动部分,然后选择文本消息(SMS)。
- 要查看已选择退出的电话号码,请转到已退出的电话号码部分。
相关信息
Monitoring Amazon SNS topics using CloudWatch
Setting SMS messaging preferences
Viewing Amazon CloudWatch metrics and logs for SMS deliveries
