#はじめに
Microsoft Flowを使ったシンプルなフローの作り方をまとめていきます。
これからFlowにチャレンジしてみようと考えている初心者向けです。
私自身、Microsoftの情報だけだと分かり辛かったので、とりあえず作ってみよう!の精神で事例を紹介していきます。
#設計
##このフローの利用シーン
毎日朝10時に、WEB上からCSVファイルをダウンロードしている。
サンプルとして、Spotifyのチャートデータをダウンロードする。
https://spotifycharts.com/regional/jp/daily/latest
##このフローの目的
ルーチン業務を自動化し、データ分析に専念できるようにする。
#フローの作り方
##作業時間
5~10分
##(1)Flowの上部メニューで「マイフロー」→「一から作成」を選ぶ
##(3)フロー名を設定。トリガーを選ぶ
フロー名
分かりやすい名前を付けてください。
トリガー
行動の起点を設定します。
- (a)毎日朝10時に
- (b)WEB上からCSVファイルをダウンロードしている。
(a)が起点です。トリガーとしては「スケジュール」を選びます。
##(4)「スケジュール - 繰り返し」を選ぶ
コネクタ「スケジュール」のアクションは1種類だけしかありません。(※執筆時点)
「スケジュール - 繰り返し」を選びます。
##(5)スケジュール -繰り返し」の詳細
頻度は月、週、日、時、分、秒と細かく選べます。
今回は「毎日朝10時」なので
- 間隔:1
- 頻度:日
- タイムゾーン:(UTC+09:00)大阪、札幌、東京
- 設定時刻(時間):10
- 設定時刻(分):0
と設定します。
新しいステップ
設定が完了しましたら、次のステップに移ります。
##(5)「アクションの追加」を選ぶ
##(6)URLからファイルをダウンロードします。
Spotifyは以下のURLを開くと、最新のCSVファイルがダウンロードされます。
https://spotifycharts.com/regional/jp/daily/latest/download
※ChromeでDOWNLOAD TO CSVボタンを右クリック → リンクのアドレスをコピー で取得。
今回はダウンロードしたCSVファイルを、Microsoftが提供するOneDriveにダウンロードします。(Google ドライブやDropBoxでも良いです。)
コネクタから「OneDrive for Business」を選びます。
##(7)アクション「OneDrive for Business - URLからのファイルのアップロード」を選ぶ
やや日本語が不自由な気がしますが、
URLからダウンロードしたファイルを、OneDrive上にアップロードするためのアクションです。
##(8)「OneDrive for Business - URLからのファイルのアップロード」の詳細
- ソース URL:ダウンロードURLを貼り付けます。
- 対象ファイルのパス:OneDrive上のパスと保存時のファイル名を指定します。
- 上書きする:はい or いいえ
「対象ファイルのパス」が少し厄介な存在です。
上記のように/daily.csvとすると、毎日同じ名前で上書きしてしまいます。
##(9)日付を使って、ファイル名を毎日変更する。
式
ここで式を使って日付をファイル名に組み込みます。
使い方はExcelの関数とほとんど一緒です。
日付を盛り込む
utcnow()
これだけです。
ただ、時間がUTCになっているため、日本とは9時間の差が生まれます。
ファイル名をユニークにすることは実現できているので、このままでもいいのですが、
時差を調整したものがこちらです↓
時差を調整する
formatDateTime(addhours(utcnow(),9),'yyyy-MM-dd')
9時間ズラしたうえで、表示形式をyyyy-MM-ddに変換しました。
日付を調整する
これは参考までに。
Sptifyの場合、ダウンロードできるデータは2日前のデータです。(例 4/10にダウンロードしたデータは4/8の分)
日付を-2します。
formatDateTime(adddays(addhours(utcnow(),9),-2),'yyyy-MM-dd')
##(10)「フローの保存」を選んで完成
以上です。
#注意事項
CSVダウンロードする対象のサイトの利用規約は必ず確認してください。
宜しくお願いします。