如何访问推送通知的 Amazon SNS 主题传输日志?

2 分钟阅读
0

我想访问推送通知的 Amazon Simple Notification Service(Amazon SNS)主题传输日志。

简短描述

Amazon SNS 支持记录发送到主题的推送通知消息的传送状态。配置消息传送状态属性后,这些推送通知消息的日志条目将发送到 Amazon CloudWatch Logs。记录消息传送状态可提供以下操作见解:

  • 了解消息是否已传送到 Amazon SNS 端点。
  • 识别从 Amazon SNS 端点发送到 Amazon SNS 的响应。
  • 确定消息停留时间(从发布时间戳到移交给 Amazon SNS 端点之前的时间)。

配置推送通知传送状态日志

以下部分提供使用 AWS 管理控制台配置传送状态日志记录的步骤。您还可以使用 AWS SDKAWS 命令行界面(AWS CLI)来配置消息传送日志。
**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI

完成下面的步骤:

  1. 打开 Amazon SNS 控制台
  2. 在导航菜单上,展开移动,然后选择推送通知
  3. 平台应用程序部分中,选择您要为其设置传送状态的平台应用程序。
  4. 选择编辑
  5. 传送状态记录(可选)。
  6. 对于成功采样率,输入您想要接收 CloudWatch Logs 的成功消息的百分比。默认情况下,会记录所有失败的传送。
  7. IAM 角色部分中,对于服务角色,选择创建新服务角色,然后选择创建新角色。系统会打开 AWS Identity and Access Management(IAM)控制台。
    注意:如果您已经拥有具有正确权限的 IAM 角色,则可以通过选择使用现有服务角色来使用该服务角色。
  8. 在 IAM 控制台权限请求页面上,选择允许,授予 Amazon SNS 写入权限,以代表您使用 CloudWatch Logs。
  9. 返回 Amazon SNS 控制台后,选择保存更改

这为成功和失败的传送创建了一个 IAM 角色,该角色遵循针对 Amazon SNS 的以下政策和信任关系。

传送成功的 IAM 角色:

arn:aws:iam::1111111111:role/SNSSuccessFeedback

传送失败的 IAM 角色:

arn:aws:iam::1111111111:role/SNSFailureFeedback

政策:

{
  "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"
    }
  ]
}

查看推送通知传送状态日志

  1. 打开 Amazon CloudWatch 控制台

  2. 在导航窗格中,展开日志,然后选择日志组

  3. 在“筛选”搜索框中,输入 sns,仅查找 Amazon SNS 的日志组。

  4. sns/your-AWS-region/your-account_ID/app/platform_name/application_name 日志组包含传送成功的日志。

    sns/us-east-1/1111111111/app/GCM/Test1
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2
    sns/us-east-1/1111111111/app/APNS/Test3

    sns/your-AWS-region/your-account_ID/app/platform_name/application_name**/Failure** 日志组包含传送失败的日志:

    sns/us-east-1/1111111111/app/GCM/Test1/Failure
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2/Failure
    sns/us-east-1/1111111111/app/APNS/Test3/Failure
  5. 选择您要查看的 Amazon SNS 日志组。

  6. 日志流选项卡上,选择特定的日志流以查看应用程序端点传送日志。

  7. 要查看消息的传送状态,请展开日志事件并检查 providerResponse。有关推送通知服务响应代码的列表,请参阅平台响应代码

相关信息

如何对 Amazon SNS 中的 FCM 移动推送通知失败进行故障排除?

如何对 Amazon SNS 中的 APN 移动推送通知失败进行故障排除?

移动应用属性

AWS 官方
AWS 官方已更新 9 个月前