EAI/ETL技術者のブログ

  • クラウドサービスとのデータ連携
2017.12.13

天気予報のJSONデータをEAIツールで取得してみた ~明日は雪?~

こんにちは。アシストの三村です。
アシストに入社以来、EAI製品「DataSpider」の提案、技術支援を行っています。

今年も残すところあと1か月。早いものですね。最近は一段と冷え込みも強くなり、東京はあと少し経てば雪のちらつく季節になりそうです。
ところで皆さんは、雪が降った日の朝はどうしていますか?私は防寒対策をしたり雪用の靴を用意したりと色々準備をするのですが、バタバタと忙しい朝の時間、正直あまり準備に時間を掛けたくはありません。

「明日が雪予報ならメールで通知してくれるサービスがあれば、事前に準備できるのになぁ」
と思っていたところ、「あ、それってDataSpiderでできるんじゃない?」ということに気が付き、本格的な冬シーズン到来の前にさくっと開発してみました。


天気Webサービスから明日の予報を取得してみる

天気予報のWebサービスより明日の天気を取得して、雪予報だった場合メール通知する処理をDataSpiderで作成してみました。

今回利用させていただいたWebサービスはこちら。
「お天気Webサービス(Livedoor Weather Web Service)」
URL:http://weather.livedoor.com/weather_hacks/webservice

こちらのWebサービスは、全国142カ所の今日/明日/明後日の天気予報、予想気温と都道府県の天気概況を提供しています。このWebサービスより明日の天気を取得して、下図のような流れで処理を開発してみました。



①設定した都市名をクエリにWebサービスへリクエスト

Webサービスに対し、予め設定した都市名をクエリにリクエストを投げます。投げる際、都市名はidに置換を行い、URLにクエリとして付与してリクエストします。

  • 例:「福岡県・久留米の天気」を取得する場合
    基本URL + 久留米のID(400040)
    ⇒http://weather.livedoor.com/forecast/webservice/json/v1?city=400040 と記載

②WebサービスのレスポンスとしてJSONデータを取得

WebサービスのレスポンスをJSON形式のデータとして受け取り、データより必要な情報を連携します。今回は予報日と都市名、予報を取得します。なお、このとき明日の予報データのみ取得するようフィルタリングします。


③明日の予報が「雪」ならば予報をメールで通知する

条件分岐の処理を組み、明日の予報が雪であるか判定します。仮に雪予報だった場合は、先ほどJSONデータより取得した情報をメール本文に埋め込み、特定のアドレスに送信します。雪予報でない場合はメールを送信しません。


実際にメールを受け取ってみる

このような流れの処理が大体3時間で完成!短い開発工数で開発できるのもDataSpiderの魅力です。
早速完成したので実際にメールを受け取ってみようと思いましたが・・・まだ東京は雪が降る時期ではないため、北海道の最北端の地域、稚内を指定して実行してみました。

スケジュール実行のトリガー(DataSpiderで作成した処理を自動実行する仕組み)を設定し、大体私が寝る少し前の時間の21時頃にメールが送信されるように設定します。

21時になってから、メールボックスを確認しました。
なお、12月1日から運用し始めたため、メールが来るとしたら最短で明日(12/2)が雪予報の場合です。

メールが21時ちょうどに届きました。
明日(12/2)は雪予報であることが分かりましたね。これで寝る前に雪対策の準備ができ、明日の朝の身支度をゆっくりできるようになりました。


まとめ

以上、EAIツールで天気予報のWebサービスに連携してデータを取得してみた例でした。
今回は天気予報のサービスですが、Web上にはありとあらゆるサービスが存在しますので、発想次第でいくらでも自分だけのWebサービス連携処理を作り出せます。今後は業務改善につながるWebサービス連携を開発してみたいですね。


三村 高広 (みむら たかひろ)

東日本技術本部 情報基盤技術統括部

2015年株式会社アシストに入社。
入社以来、EAI/ETL製品の担当部署に配属し現在「DataSpider」の担当として活動中。
「EAI技術者のブログ」を通し、皆様に様々なEAI製品導入のメリットや効果をご紹介します。

関連している記事

  • クラウドサービスとのデータ連携
2024.03.11

~iPaaSの新たな選択肢~HULFT Squareとは

アシストではHULFT Squareの取り扱いを開始しました!クラウド間のデータ連携も、クラウドとオンプレミス間の連携も、データ連携ならアシストにおまかせください!

  • クラウドサービスとのデータ連携
2023.06.16

Salesforce導入が決まった!Salesforceと既存システムとの連携はどうする?

Salesforceとその他周辺システムの連携について記載した記事です。

  • クラウドサービスとのデータ連携
2023.03.10

AWSをもっと活用していきたい!AWSと他システム・サービスとの連携で活用加速!

AWSと他システム・サービスとの連携についてご紹介いたします。

ページの先頭へ戻る