web-dev-qa-db-ja.com

SlackWebhookのAWSSNSトピックサブスクリプションの確認

SNSとSlackを統合しています。着信Webhookを有効にしてSlackアプリを作成しました。 WebhookのURLを取得しました。 HTTPSプロトコルを使用してSNSトピックのサブスクリプションを作成し、エンドポイントをwebhookURLに設定しました。現在、サブスクリプションはPendingConfirmationです。宛先チャネルではなく、確認メッセージを受信しませんでした。

サブスクリプションを確認するにはどうすればよいですか?

8
Manoj Acharya

ラムダ関数を作成したり、SlackでHTTPSサブスクリプションを作成したりする必要はありません。

Slackチャネルに、「メール統合」アプリを追加します。完了すると、Slackはslack.comドメインのメールアドレスを提供します。

このアドレスに送信されたメールは、Slackチャネルにインポートされます。

次に、SNSでメールサブスクリプションを作成し、上記のスラックメールを提供します。

4
KHALDOUN

Slackに表示されない理由は、デフォルトの SNSメッセージのJSON形式 がSlackで必要な形式に準拠していないためです。

上記のWebhookURLにデータを送信するには2つのオプションがあります。

  • POSTリクエストのペイロードパラメータとしてJSON文字列を送信します
  • POSTリクエストの本文としてJSON文字列を送信します

単純なメッセージの場合、JSONペイロードには少なくともtextプロパティを含めることができます。これは、チャンネルに投稿されるテキストです。

別のユーザーが提案したように、AWSLambda関数を使用してこれを容易にすることができます。 this one (私が作成したものではなく、使用したこともありません...参照ポイントとしてのみ含める)など、無料の公開ソリューションがすでに利用可能です。

3
Madbreaks

SNSフィードバックを受信して​​WebhookURLにPOST送信するラムダ関数を作成しました。

ラムダトピックへのサブスクリプションを作成するときは、プロトコルとしてAWS Lambdaを選択し、作成したラムダを選択します。

詳細はこちら: https://medium.com/cohealo-engineering/how-set-up-a-slack-channel-to-be-an-aws-sns-subscriber-63b4d57ad3ea

1
Gabriel Climaco