【发布时间】:2015-06-25 01:46:30
【问题描述】:
我正在尝试设置基本 SNS 订阅,但 AWS 似乎从未通过控制台或使用 SDK 发送确认。
到目前为止我已采取的步骤:
- 我已经使用 AWS 控制台设置了一个主题
- 我使用 AWS 控制台和 ruby 开发工具包向 ngrok 隧道 URL 和公共 Web 服务器 URL 添加了 HTTP 订阅
- 我已允许所有人通过在 AWS 控制台中编辑主题策略来订阅主题
通过跟踪我的本地主机和公共 Web 服务器上的日志,我可以看到从未向端点发送任何请求。
我在这里很困惑,因为它似乎肯定可以工作,或者至少向我的端点发送一些东西(任何东西)?
我用于 ruby sdk 的代码如下:
sns = AWS::SNS.new(access_key_id: ENV['AWS_ACCESS_KEY_ID'], secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'])
# I only have one topic
topic = sns.topics.first
topic.subscribe(URI.parse('http://<NGROK_URL>.ngrok.com/notifications/notify'))
topic.subscriptions.first
# returns: => <AWS::SNS::Subscription arn:PendingConfirmation>
【问题讨论】:
-
代码看起来不错。您可以通过浏览器/curl 点击您订阅主题的网址吗?您的本地计算机上是否涉及某种防火墙?尽管有可能,但 SNS 不太可能做正确的事情。
-
是的,我可以成功点击这些网址并在日志中查看请求
-
发布还是获取? (您可能没有回复 POST)
标签: ruby amazon-web-services amazon-sns aws-sdk