【问题标题】:AWS SNS not sending subscription confirmation for HTTPAWS SNS 未发送 HTTP 订阅确认
【发布时间】: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


【解决方案1】:

这原来是与我工作的地区有关的问题。我改到俄勒冈州,所有确认都立即发送。

一定有一些权限设置阻止您从某些区域发送任何消息,但它默默地失败了。

【讨论】:

  • 奇怪..它也对我有用..也许 us-west-1 工作不正常?
【解决方案2】:

对我来说,可能不是区域(虽然我也在尝试 us-east-1),而是 ngrok 的网络是如何设置的。我使用了不同的站点转发服务(finch)并且完全成功。这个AWS forum topic 让人觉得这个问题也可能是间歇性的。

【讨论】:

  • 请不要发布仅链接的答案。在答案本身中包含一些特定部分。
猜你喜欢
  • 2023-03-10
  • 2017-12-22
  • 2012-09-30
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多