Confirming AWS SNS Topic Subscription for Slack Webhook

谁说胖子不能爱 提交于 2019-12-08 19:13:55

问题


I am integrating SNS and Slack. I have created a slack app with incoming webhook enabled. I have got the webhook URL. I created a subscription for a SNS Topic with HTTPS protocol and set the Endpoint the webhookURL. Now the subscription is PendingConfirmation. I didnot receive any confirmation message, not in the destined channel.

How do I confirm the subscription?


回答1:


The reason you're not seeing it in Slack is because the default JSON format for SNS messages doesn't conform to the format required by Slack:

You have two options for sending data to the Webhook URL above:

  • Send a JSON string as the payload parameter in a POST request
  • Send a JSON string as the body of a POST request

For a simple message, your JSON payload could contain a text property at minimum. This is the text that will be posted to the channel.

As another user suggested you can use an AWS Lambda function to facilitate this. There are free, public solutions available already, such as this one (which I did not author, and have not used...only including as a reference point).




回答2:


You have create a lambda function that receives SNS feedback and POST it to your webhook URL.

When you create a subscription to your lambda topic you choose AWS Lambda as protocol and select the lambda that you just created.

More info about it here: https://medium.com/cohealo-engineering/how-set-up-a-slack-channel-to-be-an-aws-sns-subscriber-63b4d57ad3ea




回答3:


You don't need to create a lambda function or create an HTTPS subscription with Slack.

On your slack channel, add the "email integration" app. Once done, Slack will provide you an email address with slack.com domain.

Emails sent to this address will be imported into your slack channel.

Then, on SNS create an email subscription and provide the slack email above.



来源:https://stackoverflow.com/questions/49341187/confirming-aws-sns-topic-subscription-for-slack-webhook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!