我正在整合SNS和Slack。我创建了一个启用传入webhook的松弛应用程序。我有webhook网址。我使用HTTPS协议创建了SNS主题的订阅,并将端点设置为webhookURL。现在订阅是PendingConfirmation。我没有收到任何确认消息,而不是在预定渠道中。
如何确认订阅?
答案 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。
答案 2 :(得分:0)
您无需使用Slack创建lambda函数或创建HTTPS订阅。
在松弛的频道上,添加“电子邮件集成”应用。完成后,Slack将为您提供一个具有slack.com域的电子邮件地址。
发送到该地址的电子邮件将被导入到您的备用频道中。
然后,在SNS上创建电子邮件订阅并提供上面的备用电子邮件。