AWS SNS 不发送 HTTP 订阅确认

AWS SNS not sending subscription confirmation for HTTP

我正在尝试设置基本的 SNS 订阅,但看起来 AWS 从未通过控制台或使用 SDK 发送确认。

到目前为止我已采取的步骤:

通过跟踪我的本地主机和 public 网络服务器上的日志,我可以看到没有任何请求被发送到端点。

我在这里很困惑,因为它似乎肯定可以正常工作,或者至少可以向我的端点发送一些东西(任何东西)?

我为 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>

这原来是一个与我工作所在地区有关的问题。我换到了俄勒冈州,所有确认信息都会立即发送。

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

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