两种确认AWS SNS主题订阅确认方法的区别
Difference between two methods to confirm AWS SNS topic subscription confirmation
我正在尝试将 SNS 主题订阅到我拥有的 HTTPS 端点。我正在阅读有关如何处理来自 SNS 的传入消息以及需要如何完成订阅确认的文档。我看到两种确认方法:
https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html - 使用 subscribeURL。我们可以对 "SubscribeURL" 属性值执行 HTTP get 请求,这将确认订阅。
调用 ConfirmSubscription API - 我们将 SNS 主题 ARN 和在 SNS 向 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
我正在尝试将 SNS 主题订阅到我拥有的 HTTPS 端点。我正在阅读有关如何处理来自 SNS 的传入消息以及需要如何完成订阅确认的文档。我看到两种确认方法:
https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html - 使用 subscribeURL。我们可以对 "SubscribeURL" 属性值执行 HTTP get 请求,这将确认订阅。
调用 ConfirmSubscription API - 我们将 SNS 主题 ARN 和在 SNS 向 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