どうも若松です。
みなさん、SORACOM Button活用してますか?
Slackへの連携も公式に出ているので、簡単に実装できますね。
https://dev.soracom.io/jp/start/aws_button_slack/
これを今から帰るよメッセージに使ってる方もいるようです。
しかしながら、以下のような方もいらっしゃるかと思います。
- そもそもLambdaって何者よ
- 例え公式から出ていようともコードなんて書きたくない
そこで、Lambdaを使わずに(意識せずに)Slack連携する方法を考えてみました。
メール送信設定
Slack連携方法としてメール送信を利用します。
メール送信設定方法は以下などに記載があるので、割愛します。
https://blog.soracom.jp/blog/2018/10/25/are-you-ready-for-lte-m-button/
取り急ぎ、帰るよメッセージ送信を想定して、以下のように設定しました。
SlackのEmailインテグレーションを使う
SlackにはEmailインテグレーションが標準で備わっています。
Mailインテグレーションでメールアドレスを発行し、そこにメールを送るとSlackに通知する仕組みです。
なので、AWS IoTからメールを送る機能と組み合わせることで、Slackへ連携できます。
連携後の通知は以下のようになります。
ただ、このEmailインテグレーションはSlackの有償プランじゃないと使えないので、ややハードルが高いです。
なので、無償でできそうな仕組みも考えてみます。
Microsoft Flow でメールから連携する
Office365を利用していると、Microsoft Flowというサービスを使うことができます。
https://japan.flow.microsoft.com/ja-jp/
簡単に言うと様々なサービスの間を取り持って連携させてくれるサービスです。
Microsoft Flow for Office 365はフリープランがあるので、無償で始めることができます。
https://japan.flow.microsoft.com/ja-jp/pricing/
今回はGmailをトリガーにしてSlackへ投稿します。
設定は以下の通りです。
Gmailのトリガーは最初に使うときにアカウント連携させる必要があります。(詳細は割愛)
簡単のために件名のみで引っ掛けてますが、他の項目も設定してトリガーするメールを絞り込みことが可能です。
実際にMicrosoft Flowで連携して投稿すると以下のようになります。
上記ではメールの本文をそのまま投稿していましたが、以下のようにメールとは関係ないメッセージに変えることも可能です。
これを投稿すると以下のようになります。
まとめ
そもそもメール送る時点で自動生成されるLambdaは使ってるので、タイトルの表現が合ってるかは微妙ですが、コードを見なくていいという点ではアレルギーの少ない構成かと思います。
Microsoft Flowの連携はメールが到着してから5分程度のタイムラグが出るので、即時性を求める場合は難しいですが、Slackの有償プランを使わなくてもいいのは嬉しいですね。