确认Slack Webhook的AWS SNS主题订阅

时间:2018-03-17 19:42:15

标签: amazon-web-services webhooks amazon-sns slack slack-api

我正在整合SNS和Slack。我创建了一个启用传入webhook的松弛应用程序。我有webhook网址。我使用HTTPS协议创建了SNS主题的订阅,并将端点设置为webhookURL。现在订阅是PendingConfirmation。我没有收到任何确认消息,而不是在预定渠道中。

如何确认订阅?

3 个答案:

答案 0 :(得分:2)

您没有在Slack中看到它的原因是因为默认的JSON format for SNS messages不符合Slack要求的格式:

  

您可以通过两种方法将数据发送到上面的Webhook URL:

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

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

正如另一个用户建议的那样,您可以使用AWS Lambda函数来简化此操作。已经有免费的公共解决方案,例如this one(我没有写过,也没有使用过……只是作为参考点而已。)

答案 1 :(得分:1)

您已经创建了一个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

答案 2 :(得分:0)

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

在松弛的频道上,添加“电子邮件集成”应用。完成后,Slack将为您提供一个具有slack.com域的电子邮件地址。

发送到该地址的电子邮件将被导入到您的备用频道中。

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