Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ノンコーティングで作る Web ページ更新通知 BOT

E245751963f044710c6fe00d5e8001dd?s=47 4423
October 09, 2020

ノンコーティングで作る Web ページ更新通知 BOT

MS Tech Camp #1 の LT 資料です。
https://mspjp.connpass.com/event/189743/

Logic Apps と Blob Storage を使用して、Web ページの更新を Slack に通知するお手軽な方法をご紹介します。

E245751963f044710c6fe00d5e8001dd?s=128

4423

October 09, 2020
Tweet

Transcript

  1. ϊϯίʔςΟϯάͰ࡞Δ Webϖʔδߋ৽௨஌BOT MS Tech Camp #1 - LT @Neo4423

  2. Logic Apps × Blob Storage

  3. Logic Apps × Blob Storage で超簡単に作る方法を紹介 Webページが更新されたら Slack に通知する BOT

  4. Logic Apps とは • ノンコーディングで視覚的にワークフローを構築可能 • 様々なサービスとの連携が容易 3 https://docs.microsoft.com/ja-jp/azure/logic-apps/quickstart-create-first-logic-app-workflow トリガー

    アクション ワークフロー
  5. Blob Storage とは • テキスト/バイナリデータを格納するためのストレージ • データ(BLOB) はフラットなストレージ空間に配置される 4 フラットな階層構造

    ディレクトリ階層構造
  6. Webページ更新通知BOT 作ってみた

  7. 作り⽅ 1. Logic Apps と Blob Storage のリソースを作成 2. Blob

    Storage にコンテナーを作成 • コンテナーは BLOB をまとめる⼊れ物 3. Logic Apps でワークフローを定義 6
  8. 完成したワークフロー 7

  9. 完成したワークフロー 8 ⼀定の時間ごとに

  10. 完成したワークフロー 9 監視対象の Webページを取得

  11. 完成したワークフロー 10 以前取得したページを Blob Storage から取得

  12. 完成したワークフロー 11 以前取得したページと 今回取得したページが 等しくなければ

  13. 完成したワークフロー 12 Slack にメッセージを 投稿

  14. 完成したワークフロー 13 今回取得したページで 更新

  15. 完成したワークフロー 14 以前取得したページと 今回取得したページが 等しければ なにもしない

  16. トリガー/アクション設定の詳細 15 繰り返しの間隔と単位を設定 1時間毎/15分毎など HTTP メソッドや URI などを設定 ファイルのパスを設定 初回はダミーファイルの配置が必要

    チャンネル名とメッセージを設定
  17. 動作の様⼦ 16

  18. 価格 • 1円 / 1⽇ • 今回の BOT で1時間に1回ワークフローを実⾏する場合 •

    Azure for Students では Blob Storage に無料枠あり • LRS-Hot ブロックが 5GB まで無料! 17
  19. さらなる拡張 • コーディングは Azure Functions でやろう • Logic Apps にもプログラムを記述するための機能はあるが、

    ハマりどころが多い 18 Webページの特定箇所のみ⽐較したい
  20. まとめ • Logic Apps と Blob Storage の活⽤例を紹介 • ノンコーティングで簡単に更新通知

    BOT が作れる! • MS Learn の関連リンク • https://docs.microsoft.com/ja-jp/learn/paths/build-workflows-with-logic-apps/ • https://docs.microsoft.com/ja-jp/learn/modules/store-app-data-with-azure-blob-storage/ 19