我正在使用Aws SNS发送通知,并向不同主题发送通知,并且工作正常。
当我publish
通知时,我得到了像
object(Aws\Result)#84 (1) {
["data":"Aws\Result":private]=>
array(2) {
["MessageId"]=>
string(36) "************-7a29-591f-8765-************"
["@metadata"]=>
array(4) {
["statusCode"]=>
int(200)
["effectiveUri"]=>
string(40) "https://sns.ap-southeast-1.amazonaws.com"
["headers"]=>
array(4) {
["x-amzn-requestid"]=>
string(36) "************-b737-5831-abf4-************"
["content-type"]=>
string(8) "text/xml"
["content-length"]=>
string(3) "294"
["date"]=>
string(29) "Fri, 28 Oct 2016 08:59:05 GMT"
}
["transferStats"]=>
array(1) {
["http"]=>
array(1) {
[0]=>
array(0) {}
}
}
}
}
}
我在服务器端使用php,
但我需要分别为每个主题生成一个报告,哪个端点(主题订阅者)获得通知以及通知是否失败,以及成功传递的百分比是多少。
经过大量研究,我发现Aws CloudWatch可以完成我的工作,我也在stackOverflow上搜索了这个,得到了这个答案:
How to confirm delivery status when using amazonSNS mobile push?
我还在CloudWatch中生成了一些日志,
通过describeLogGroups
,我得到像
[logGroups] => Array(
[0] => Array
(
[logGroupName] => sns/ap-southeast-1/************/app/GCM/AndroidN
[creationTime] => ************
[retentionInDays] => 30
[metricFilterCount] => 0
[arn] => arn:aws:logs:ap-southeast-1:************:log-group:sns/ap-southeast-1/************/app/GCM/AndroidN:*
[storedBytes] => 3133
)
)
按describeLogStreams
,我得到像
[logStreams] => Array(
[0] => Array
(
[logStreamName] => 25
[creationTime] => 1477574852344
[firstEventTimestamp] => 1477574831966
[lastEventTimestamp] => 1477574831966
[lastIngestionTime] => 1477574852374
[uploadSequenceToken] => ***********************8
[arn] => arn:aws:logs:ap-southeast-1:*********:log-group:sns/ap-southeast-1/**********/app/GCM/AndroidN:log-stream:25
[storedBytes] => 627
)
)
但是对于如何为特定主题访问它感到困惑,因为在我的网站中我为一组用户(端点)创建了一些主题,现在我想为每个主题显示已发送/未通过端点的通知多少主题,
感谢预期。