两种确认AWS SNS主题订阅确认方法的区别

Difference between two methods to confirm AWS SNS topic subscription confirmation

我正在尝试将 SNS 主题订阅到我拥有的 HTTPS 端点。我正在阅读有关如何处理来自 SNS 的传入消息以及需要如何完成订阅确认的文档。我看到两种确认方法:

我正在尝试了解这两种方法之间的区别。对我来说最明显的一个是这个 - 选择使用 API 将需要 AWS 凭证,因为需要对请求进行签名。但似乎仅通过 HTTP GET 请求,同一个调用就会成功?

最好的做法是什么(如果有的话)and/or其他人使用哪种方法AWS/SNS?

在 SNS 与端点对话之前,您需要证明您控制该端点。因此,您的选择是编写一些可以自动执行的代码(大多数 SDK 都支持此操作)或捕获令牌,并通过 API 调用返回它来证明您控制它。

这是一次性过程,因此您不需要将任何 AWS 凭证部署到您的 API 端点 - 您可以从不同的系统执行此操作。

我们通常将确认处理程序构建到应用程序中。

没有区别 -- 这两个选项实际上是同一件事。

SubscribeURL 属性是预先构建的(由服务)link 到 SNS API 端点上的 ConfirmSubscription 操作。

API 接受 GET 或 POST。这种情况不需要签名。

This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true".

https://docs.aws.amazon.com/sns/latest/api/API_ConfirmSubscription.html