确认 Slack Webhook 的 AWS SNS 主题订阅



我正在整合SNS和Slack。我创建了一个启用了传入网络钩子的松弛应用程序。我有网络钩子网址。我为 使用 HTTPS 协议的 SNS 主题创建了订阅,并将终端节点设置为 webhookURL。现在订阅处于待确认状态。我没有收到任何确认消息,不在预定的频道中。

如何确认订阅?

您无需使用 Slack 创建 lambda 函数或创建 HTTPS 订阅。

在您的 Slack 频道上,添加"电子邮件集成"应用。完成后,Slack 将为您提供一个包含 slack.com 域的电子邮件地址。

发送到此地址的电子邮件将被导入到您的 Slack 频道中。

然后,在SNS上创建电子邮件订阅并提供上面的松弛电子邮件。

您可以在没有 lambda 的情况下确认订阅。这很容易。我找到了一种无需AWS LambdaAWS chatbot即可将AWS SNS与松弛集成的方法。

按照视频清楚地显示所有步骤。https://www.youtube.com/watch?v=CszzQcPAqNM

要遵循的步骤:

  • 创建可宽延频道或使用现有频道
  • 通过选择 Webhook 创建工作流
  • 创建一个变量名称作为SubscribeURL 。名字很重要
  • 在工作流的消息正文中添加上述变量
  • 发布工作流并获取 URL
  • 添加上述网址作为SNS的订阅
  • 你将在 slack 频道中看到订阅 URL
  • 按照 URl 操作并完成订阅
  • 返回到工作流并将变量更改为Message
  • 在 SNS 中发布消息。 您将在 Slack 频道中看到该消息。

你在 Slack 中看不到它的原因是 SNS 消息的默认 JSON 格式不符合 Slack 要求的格式:

您有两个选项可以将数据发送到上面的 Webhook URL:

  • 发送 JSON 字符串作为 POST 请求中的有效负载参数
  • 发送 JSON 字符串作为 POST 请求的正文

对于简单消息,JSON 有效负载至少可以包含文本属性。这是将发布到频道的文本。

正如另一位用户建议的那样,您可以使用 AWS Lambda 函数来促进这一点。 已经有免费的公共解决方案可用,例如这个(我没有编写,也没有使用......仅包括作为参考点(。

您已经创建了一个 lambda 函数,该函数接收 SNS 反馈并将其发布到您的 webhook URL。

创建 lambda 主题订阅时,选择 AWS Lambda 作为协议,然后选择刚刚创建的 lambda。

更多信息请点击此处:https://medium.com/cohealo-engineering/how-set-up-a-slack-channel-to-be-an-aws-sns-subscriber-63b4d57ad3ea

我可能在这个话题上迟到了,但您可以配置 AWS 聊天机器人(松弛应用程序(以将所有通知发送到您的松弛。更多信息在这里 : https://aws.amazon.com/chatbot/

最新更新