通过 HTTP 确认 SNS 订阅

Posted

技术标签:

【中文标题】通过 HTTP 确认 SNS 订阅【英文标题】:Confirm SNS subscription on HTTP 【发布时间】:2012-09-30 23:02:33 【问题描述】:

我创建了一个 Amazon SNS 主题并添加了 2 个订阅。

    我的电子邮件 ID 确认后可以正常使用。 亚马逊 ec2 实例的 HTTP URL。

现在的问题是我不明白如何确认 HTTP URL 的订阅。 我在 apache access.log 上看不到 post 请求。 我是否必须在其他地方寻找消息。

我已经在服务器上通过乘客部署了一个 Rails 项目。 我应该通过 Rails 代码检查发布请求吗?

【问题讨论】:

【参考方案1】:

同样的问题,其实是RAW POST,你可以阅读:

$post = file_get_contents('php://input');

把它放在你的目标网址中,如果你想把它发送到你的电子邮件中以查看它。

之后您可以确认:http://docs.amazonwebservices.com/sns/latest/api/API_ConfirmSubscription.html

来源:https://forums.aws.amazon.com/message.jspa?messageID=364666#364666

编辑:实际上这是在 JSON 中,并且有一个变量“SubscribeURL”,在导航器中复制粘贴并验证订阅!

编辑 2:对不起 php,它似乎在 rails 上:

request.raw_post

request.raw_post trying to pull data from it

【讨论】:

假设它是 php,对不起,我无法在 Rails 上提供帮助,寻找 RAW POST DATA ! 我到这里是为了寻找 PHP 解决方案,所以您的答案仍然与搜索非常相关 谢谢,它对我有用。感谢您节省了我的时间。

以上是关于通过 HTTP 确认 SNS 订阅的主要内容,如果未能解决你的问题,请参考以下文章

如何通过电子邮件订阅带有电子邮件端点的 Amazon SNS 主题?

如何删除未确认的 AWS SNS 订阅

如何将 SQS 队列订阅到 Java 中的 SNS 主题

OpsGenie 不会在 AWS 仪表板或 terraform 中自动确认 SNS 订阅

AWS SNS ConfirmSubscription 授权从未授予 IAM 用户

Serverless 订阅其他区域的 SNS