我想访问推送通知的 Amazon Simple Notification Service (Amazon SNS) 主题传输日志。
简短描述
Amazon SNS 支持记录发送到主题的推送通知消息的传输状态。配置消息传输状态属性后,这些推送通知消息的日志条目将发送到 Amazon CloudWatch Logs。记录消息传输状态可提供以下操作见解:
- 了解消息是否已传输到 Amazon SNS 端点。
- 识别从 Amazon SNS 端点发送到 Amazon SNS 的响应。
- 确定消息停留时间(从发布时间戳到移交给 Amazon SNS 端点之前的时间)。
配置推送通知传输状态日志
以下部分提供使用 AWS 管理控制台配置传输状态日志记录的步骤。您还可以使用 AWS SDK 或 AWS 命令行界面 (AWS CLI) 来配置消息传输日志。
**注意:**如果在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
完成以下步骤:
- 打开 Amazon SNS 控制台。
- 在导航菜单上,展开 Mobile(移动),然后选择 Push notifications(推送通知)。
- 在 Platform applications(平台应用程序)部分中,选择您要为其设置传输状态的平台应用程序。
- 选择 Edit(编辑)。
- 传输状态日志记录 - 可选。
- 对于 *Success sample rate(成功采样率),输入您想要接收 CloudWatch Logs 的成功消息的百分比。默认情况下,会记录所有失败的传输。
- 在 IAM roles(IAM 角色)部分中,对于 Service role(服务角色),选择 Create new service role(创建新服务角色),然后选择 Create new roles(创建新角色)。系统会打开 AWS Identity and Access Management (IAM) 控制台。
**注意:**如果您已经拥有具有正确权限的 IAM 角色,则改为选择 Use existing service role(使用现有服务角色)来使用该服务角色。
- 在 IAM 控制台权限请求页面上,选择 Allow(允许),授予 Amazon SNS 写入权限,以代表您使用 CloudWatch Logs。
- 返回 Amazon SNS 控制台后,选择 Save changes(保存更改)。
这样会为成功和失败的传输创建 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"
}
]
}
查看推送通知传输状态日志
-
打开 Amazon CloudWatch 控制台。
-
在导航窗格中,展开 Logs(日志),然后选择 Log groups(日志组)。
-
在筛选搜索框中,输入 sns 以仅查找 Amazon SNS 的日志组。
-
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
-
选择您要查看的 Amazon SNS 日志组。
-
在 Log streams(日志流)选项卡上,选择特定的日志流以查看应用程序端点传输日志。
-
要查看消息的传输状态,请展开日志事件并检查 providerResponse。有关推送通知服务响应代码的列表,请参阅平台响应代码。
相关信息
如何对 Amazon SNS 中的 FCM 移动推送通知失败进行故障排除?
如何对 Amazon SNS 中的 APN 移动推送通知失败进行故障排除?
移动应用程序属性