【发布时间】:2012-07-16 11:11:39
【问题描述】:
在我的网站上,我想像 Stackoverflow 那样推送 cmets 通知。 Amazon SNS/SQS 似乎提供了一个框架来执行此操作,但我很难在 Web 上找到任何代码/解释,而不是“hello world”等价物。
从阅读 AWS SNS/SQS 文档看来,我需要以下内容:
逻辑:
- 发表评论/回答新问题
- 创建主题(仅限第一次评论/回答)
- 发布消息
- 订阅主题
发布 cmets 的页面上的 PHP (http://mysite.com/postCommentOrAnswer.php):
$comment=$_POST['comment']; //posted comment
require_once 'application/third_party/AWSSDKforPHP/sdk.class.php';
$sns = new AmazonSNS();
$response = $sns->create_topic('SO-like-question-12374940'); //create topic
$response = $sns->publish(
'arn:aws:sns:us-east-1:9876543210:SO-like-question-12374940',
$comment
); //publish comment
$response = $sns->subscribe(
'arn:aws:sns:us-east-1:9876543210:SO-like-question-12374940',
'https ',
'https://mysite.com/notificationsReceiver'
); // Subscribe to notifications
接收通知的页面上的 PHP (http://mysite.com/notificationsReceiver.php):
no idea, thoughts?
显然,这不是一个完整的演示,并且可能有一些不正确的函数调用,但我想知道是否有人可以帮助构建这个?
【问题讨论】:
-
您是否因此而与 SQS/SNS 结缘?我不认为我会使用它们。
-
嗨@ceejayoz,不,我不喜欢他们。我很乐意使用其他东西。我只是没有找到任何全面的东西,只是简单地向像我这样的相关 PHP 新手解释。如果您知道您想到的任何 PHP 和/或 Codeigniter 解决方案,我也在使用 Codeigniter。
-
对于大多数网站,在您用于网站的主数据库(也许是 MySQL)中执行此操作是完全可以的。
-
@ceejayoz,谢谢,是的,我正在使用 mysql。这听起来不错,但你能否提供更多细节,也许是在回答这个问题?我的理解非常少。目前我正在使用
setInterval()定期查询我的数据库以获取新消息,但更愿意使用推送系统。我只是不知道如何做到这一点的逻辑。 -
@ceejayoz 您对如何使用 PHP 进行推送通知有任何建议/链接吗?我主要困惑的是如何构建将接收消息的页面?
标签: php amazon-web-services push-notification amazon-sqs amazon-sns