如何确认Slack订阅AWS SNS主题?

4
我有一个通知SNS主题的Lambda函数。
它目前每次调用函数时都会发送一封电子邮件,因此Lambda、SNS部分和电子邮件订阅都正常工作。

现在我想要一个Slack集成。

我已经创建了一个名为aws_int的频道,但无法接收通知。

我被卡在“验证订阅”的需求上。我不知道如何在与Slack的https连接中执行此操作。

我不明白如何在AWS控制台中手动执行此操作,因为所有文档都在引用“订阅确认URL”

我找不到这是什么。

enter image description here

enter image description here

但我找不到那是什么。
我发现有一篇帖子谈到JSON无效:确认AWS SNS主题订阅Slack Webhook,但我不知道如何使用它,也许我可以使用Postman,但我不确定如何准确地格式化该POST。
那么,我如何将Slack和AWS集成为SNS主题,特别是如何进行确认(这是激活所必需的)?这一定是一个常见的需求!
如果我使用钩子URL,我会得到

enter image description here

我尝试的一切都只是堆积更多待确认的内容,顺便说一下,我无法删除它们...

enter image description here

这是我的Postman尝试...

enter image description here


1
直接从 Lambda 调用 Webhook 或许更容易,而且格式肯定也会更好。 - kichik
嗯,是的,但我真的希望系统解耦。 - Michael Durrant
能够以多种方式和配置使用这些组件来构建应用程序,一旦我掌握了这些构建块。我认为这也适用于其他流行产品以及看起来普遍且有用的集成。 - Michael Durrant
3个回答

5
你真的不需要使用Lambda。只需要使用SNS和SLACK就足够了。
我找到了一种将AWS SNS与slack无需使用AWS LambdaAWS chatbot的集成方法。通过这种方法,您可以轻松确认订阅。
按照视频中清晰展示的所有步骤进行操作即可。

操作步骤:

  • 创建Slack频道或使用现有频道
  • 创建工作流并选择Webhook
  • 将变量名称设置为“SubscribeURL”。名称非常重要
  • 将上述变量添加到工作流消息正文中,发布工作流并获取URL
  • 将上述URL添加为SNS的订阅。您将在Slack频道中看到订阅URL
  • 按照链接并完成订阅
  • 返回工作流并将“SubscribeURL”变量更改为“Message”
  • 在SNS中发布消息,您将在Slack频道中看到该消息。

1

看起来没有一种方法可以确认将SNS订阅发送到Slack端点(电子邮件,Webhook等)。如果要使用SNS作为解耦层,则需要向系统添加一个Lambda,该Lambda可以处理确认过程。

Lambda -> webhook -> SNS -> Lambda -> webhook -> Slack

确认AWS SNS主题订阅的Slack Webhook提供了更多相关信息。


0
我建议直接使用Lambda向Slack发送消息,可以调用另一个专门的Lambda函数,或者直接在原始Lambda函数内部实现。这里有一个很好的教程here。如果你真的想使用SNS,那么你可以让原始的Lambda函数触发SNS,然后让一个新的专门用于Slack的Lambda函数订阅该SNS主题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接