皆さん、こんにちは。
業務ハックLabのようです。
今回はPower Automateで使用する日付関数について解説していきたいと思います。
この記事は、Power Automate Advent Calendar 2022 12月24日担当分の記事です!
今回は以前投稿した地震発生状況蓄積フローの改善をしていきたいと思います。
前のフローはRSSフィードから30分ごとに情報を取得してくるように設定をしていました。
また取得してくるデータもXMLデータだったのでxml関数やらxpath関数やらを使っていて分かりにくかったかなと思います。
今回は過去一か月分の地震情報がJSON形式でアップされているところが気象庁のHPにあったのでそちらを利用していきたいと思います。
地震情報の取得
ではまず地震情報を取得するところから説明していきたいと思います。
前回記事から色々調べてみた結果、下記URLより直近1か月の地震情報を入手できることがわかりました。
https://www.jma.go.jp/bosai/quake/data/list.json
これをHTMLコネクタで取得してみます。
そうするとこんな感じで本文の部分に結果が取得できました。
HTTPコネクタのHTTPアクションは非常に使えます。
使えるのですが・・・
有償コネクタなんですよね。
そりゃそうです。
こんなに使いやすいコネクタ無償で提供するのはもったいないですもんね。
でもできれば無償コネクタで何とかしたいという方。
OneDrive for Businessコネクタの「URLからのファイルアップロードアクション」と「パスによるファイル コンテンツの取得」を組み合わせればHTTPアクションのGETと同じことができます。
この方法はMicrosoft MVPのHiroさんのQiitaの記事でで詳しく書いてあるのでそちらを参照してみてください!
はい、ということで上記のアクションを使用して取得してみました。
ちゃんと出力のところを見ると取得できてますね。
でも出力の結果を見てみるとこのままでは使いにくそうです。
配列に変換する
ということで後工程で操作しやすくするためのjson関数を使用して配列にしてしまいましょう。
そうするとこんな感じ。
今度は配列として出力されましたね。
ちなみに取得したデータは降順になってますので、最新データは一番最初にあります。
なのでとりあえず一番最初の配列を取得してみましょう。
ちなみに関数は下記のような形で設定しています。
そうするとこんな感じで結果が返ってきました。
返ってきたデータの分析
先程返ってきたデータですが下記のようなJSONが返ってきています。
取得した情報を分析すると各項目こんな感じでしょうか?
№ | タイトル | 詳細 |
01 | ctt | 発表ID |
02 | eid | 地震ID |
03 | rdt | 発表時刻 |
04 | ttl | タイトル |
05 | ift | 発表種別 |
06 | ser | ? |
07 | at | 発生時刻 |
08 | anm | 震源地 |
09 | acd | 震源地コード |
10 | cod | 緯度、経度、震源の深さ |
11 | mag | マグニチュード |
12 | maxi | 最大震度 |
13 | int | 地域ごとの最大震度他 |
14 | int-code | 地域コード |
15 | int-city | 地域ごとの最大震度情報 |
16 | json | 詳細情報のjson名 |
先日作成した蓄積フローでは発生日、発生時刻、震源地、緯度、経度、震源の深さ、マグニチュード、最大震度を取得していたのでどうやらこのデータでも問題なく取得できそうですね。
改善結果
ということで最終的にこんな感じになりました。
前回の記事を見ていただいた方は一目瞭然だと思いますがアクション数が圧倒的に少なくなりました!
やはりJSON形式で取得できると加工しやすいので良いですね。
また配列の扱い方を覚えることで、ずらずらと多くなっていた変数の部分もカットできました!
配列の扱い方についてはMiyake Mito(@MiTo60448639)さんのこの資料を見るとめちゃくちゃ勉強になるのでおすすめです。
はい、今回は以前作った地震状況蓄積フローの改善をしてみました。
細かい作り方などはそのうちYouTubeで配信しようかなと思っていますので気長にお待ちいただければと思います!
それでは皆さん、良い業務ハックライフを~