选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用亚马逊 CloudWatch 指标和日志监控 Amazon SNS 短信发送情况

聚焦模式
使用亚马逊 CloudWatch 指标和日志监控 Amazon SNS 短信发送情况 - Amazon Simple Notification Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

您可以使用 Amazon CloudWatch 和 Amaz CloudWatch on Logs 来监控您的短信发送情况。

查看亚马逊 CloudWatch 指标

Amazon SNS 会自动收集有关您发送短信的指标并将其推送到亚马逊。 CloudWatch您可以使用 CloudWatch 监控这些指标并创建警报,以便在指标超过阈值时提醒您。例如,您可以监控 CloudWatch 指标以了解您的短信发送率和 month-to-date短信费用。

有关监控 CloudWatch 指标、设置 CloudWatch 警报和可用指标类型的信息,请参阅使用监控亚马逊 SNS 主题 CloudWatch

查看 CloudWatch 日志

通过启用 Amazon SNS 写入亚马逊 CloudWatch 日志,您可以收集有关成功和不成功发送短信的信息。对于您发送的每条 SMS 消息,Amazon SNS 会写入日志,其中包括消息价格、成功或失败状态、失败原因(如果消息发送失败)、消息停留时间以及其他信息。

启用和查看 SMS 消息的 CloudWatch 日志
  1. 登录 Amazon SNS 控制台

  2. 在控制台菜单上,将区域选择器设置为支持 SMS 消息收发的区域

  3. 在导航面板上,选择文本消息(SMS)

  4. 移动文本消息(SMS) 页上,在文本消息发送首选项部分中,选择编辑

  5. 在下一页上,展开 Delivery status logging(传输状态日志记录)部分。

  6. 对于成功采样率,请指定 Amazon SNS 将在日志中 CloudWatch 写入日志的成功发送短信的百分比。例如:

    • 要仅将失败传输写入日志,请将此值设为 0。

    • 要将 10% 的成功传输写入日志,请将其设为 10。

    如果您不指定百分比,Amazon SNS 会将所有成功传输写入日志。

  7. 为提供所需的权限,请执行以下操作之一:

    • 要创建新的服务角色,请选择 Create new service role(创建新的服务角色),然后选择 Create new roles(创建新角色)。在下一页上,选择 Allow(允许)以授予 Amazon SNS 对您账户资源的写入访问权限。

    • 要使用现有服务角色,请选择 Use existing service role(使用现有服务角色),然后将 ARN 名称粘贴到 IAM role for successful and failed deliveries(成功和失败传输的 IAM 角色)框中。

      您指定的服务角色必须允许对账户资源进行写入访问。有关创建 IAM 角色的更多信息,请参阅 I AM 用户指南中的为 AWS 服务创建角色。

  8. 选择 Save changes(保存更改)

  9. 回到 Mobile text messaging (SMS)(移动文本消息 (SMS))页面上,转至 Delivery status logs(传输状态日志)部分查看任何可用的日志。

    注意

    根据目标电话号码的运营商,Amazon SNS 控制台中显示传输日志最长可能需要 72 小时。

成功 SMS 传输的示例日志

成功 SMS 传输的传输状态日志与下面的示例类似:

{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 310, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 599, "dwellTimeMsUntilDeviceAck": 1344 }, "status": "SUCCESS" }

失败 SMS 传输的示例日志

失败 SMS 传输的传输状态日志与下面的示例类似:

{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }

SMS 传输失败的原因

providerResponse 属性中提供失败的原因。SMS 消息传输失败可能是因为以下原因:

  • 被电话运营商作为垃圾消息屏蔽

  • 目的地位于阻止列表中

  • 电话号码无效

  • 消息正文无效

  • 电话运营商已屏蔽此消息

  • 电话运营商目前无法访问/不可用

  • 电话已屏蔽 SMS

  • 电话位于阻止列表中

  • 电话当前无法访问/可用

  • 电话号码已退出

  • 此传输会超过最高价格

  • 尝试联系电话时发生未知错误

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。