【问题标题】:How can I automatcially confirm subscription to SNS Notifications如何自动确认订阅 SNS 通知
【发布时间】:2015-06-10 21:08:47
【问题描述】:

我会定期启动和关闭将我团队的电子邮件设置为通知地址的弹性 beanstalk 环境。有没有一种方法可以自动确认订阅所有创建的 SNS 主题,而不必每次都手动单击电子邮件中的链接(并错过一些)?

【问题讨论】:

  • 在 ConfirmSubscription API 的 token 参数中,我们可以发送任何字符串作为 token 值还是需要发送特定的东西?

标签: amazon-elastic-beanstalk amazon-sns


【解决方案1】:

您似乎正在以编程方式创建环境。您可以考虑使用 SNS ConfirmSubscription API 自动确认订阅

http://docs.aws.amazon.com/sns/latest/APIReference/API_ConfirmSubscription.html

另一种选择是创建您自己的主题并订阅您的电子邮件。然后使用“通知主题 ARN”选项设置为所有环境重用该主题,而不是在启动新的 beanstalk 环境时提供电子邮件地址。这样,您订阅主题一次,然后忘记它。

【讨论】:

  • ConfirmSubscription API 的token 参数中,我们可以发送任何字符串作为令牌值还是我们需要发送特定的东西?
  • 当您订阅端点时,端点(电子邮件、sqs)收到的订阅消息将包含要使用的令牌。你不能使用任何东西。
  • 我使用 --cli-input-json 提供 json 作为命令的输入。在那个 json 中,我需要为键 token 提供值,如果我没有给出任何值,那么它会给我错误,如果我从 json 中删除该键,那么我又会得到错误。那么提供什么作为令牌呢?
  • 您的端点类型是什么?订阅消息会告诉你令牌。
  • 我的端点类型是电子邮件。我收到了这封邮件以确认You have chosen to subscribe to the topic: arn:aws:sns:us-east-1:132895064974:TestTopic,如何从中找到令牌?
【解决方案2】:

据我所知,没有什么好的方法可以做到这一点。我能想到的最简单的方法不是订阅主题的电子邮件,而是订阅 SQS 队列,然后有一个单独的进程从该 SQS 队列中读取并将电子邮件发送到您的团队电子邮件地址。它不漂亮,但它会起作用,而且你不会丢失任何消息。

【讨论】:

    【解决方案3】:

    无需为每个环境创建新的 SNS 主题。

    例如configuring notifications using configuration options时,使用这个选项:

    通知主题 ARN – [...] 您还可以将此选项设置为使用 用于通知的现有 SNS 主题。您附加到您的主题 更改此选项时不会删除使用此选项的环境 选择或终止环境。

    那么对于每个新环境,邮件列表只接收不需要确认订阅的这种类型的电子邮件:

    这是环境的发布通知测试 'your-new-environment-name',验证附加 SNS 主题的权限 对环境。

    --如果您希望停止接收来自该主题的通知,请点击或访问以下链接取消订阅: https://sns.eu-west-1.amazonaws.com/unsubscribe.html?some_key..

    【讨论】:

      猜你喜欢
      • 2012-09-30
      • 2016-08-25
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2018-03-25
      • 1970-01-01
      相关资源
      最近更新 更多