WebhookのGetメソッドを使うと、HTTPを利用して様々なデータを取得する事が出来ます。
Webhookを使う方法はいろいろありますが、今回はLogic AppsとPowerShellを使って、GETメソッドを実行する方法について解説します。
Webhookとは
Webhookとは、Webアプリケーションで特定のイベントが発生した際、アプリケーションの更新情報をHTTPを利用して他のアプリケーションへリアルタイム提供する仕組みや概念のことです。
Webhookの使用例です。
- 構築したWEBサーバのステータスを確認する
- Logic Appsからサードパーティのプロジェクト管理ツールに向けて課題などを投稿する
Webhookを使用する際には、メソッドを指定する必要があります。主によく使用されるメソッドと使い分けは、以下の通りです。
- GETメソッド
- WEBサーバからサイトの情報を取得したい時
- POSTメソッド
- WEBサーバへサイトの情報を送信したい時
※ 本記事では取り上げていませんが、HTTPリクエストメソッドについては他にも、HEAD/PUT/DELETE/CONNECT/OPTIONS/TRACE/PATCHなどがあります。興味がある方は調べてみてください。
Webhookのメリット
前述の通り、Webhookとは、アプリケーションから別のアプリケーションに対してタイムリーな情報提供を実現する仕組みです。
一例で紹介したような自動化処理をなどにも適しており、情報提供の自動化による業務効率化を図ることができます。
複数アプリケーション間での情報のやり取りの際に使用される方法として「ポーリング」もありますが、ポーリングを使用してタイムリーなやり取りを実施するためには、高頻度でデータの有無を確認する必要があります。
しかし、Webhookはイベント発生をトリガーにして送信側がデータを送出するので、送信側・受信側ともに効率よく情報を更新することができます。
利用例
主に使用されるメソッドとしてGETとPOSTがあると紹介しましたが、今回はGETメソッドを使用してLogic AppsとPowerShellでGoogleにHTTPアクセスを実施します。
※大量にアクセスしてしまうと攻撃と見なされる場合もあるため注意してください!
Logic Appsで実装した場合
Logic Appsで実装する場合は、ロジックアプリデザイナーから[HTTP組み込み]を選択し、以下を入力します。
- 方法
- GET
- URL
トリガー実行後、状態コードが200で返ってきており、HTTPアクセスが成功していることが分かります。
PowerShellで実装した場合
PowerShellを使用してHTTPアクセスできるかを確認する場合は、以下のコマンドを実行します。
Invoke-WebRequest 'https://www.google.com'
コマンド実行後の結果を確認します。
Logic Appsで実行した時と同様にStatus Codeが200で返ってきているため、HTTPアクセスが成功していることが分かります。
Logic AppsとPowerShellの使い分け
今回は、GETメソッドの実行にLogic AppsとPowerShelを使用しました。
Logic Appsは自動化処理などで効率化を図りたい時に使用し、PowerShellは検証やテストなどで接続確認をする際に使用することが多いです。
Webhookの使用目的によって、使い分けをしていただくと良いかと思います。
まとめ
本記事では、Webhookについての簡単な説明と、Logic AppsとPowerShellを使用したGETメソッドの利用例を紹介させていただきました。
ポイントは次の2点です。
- Webhookとは、アプリケーション上でイベントが発生した際に、その事象をほかのアプリケーションにリアルタイムに伝えてくれるシステム。
- 主にはGETメソッド、POSTメソッドを利用するケースが多く、この2つの違いは情報を取得するのか、送信するのかで使い分けをする
ご参照いただきありがとうございました。