概要
社内システムから書き出されたレポートデータや外部パートナーからの納品データが、ファイルとしてBoxやGoogleドライブに届く運用がよく聞かれます。しかし、日常の業務において、以下のような手作業に追われていないでしょうか?
- ファイルの上書きへの対応:同じファイル名で中身だけ最新版に差し替わるため、更新されるたびにデータの取り込みを行っている。(後述のパターン①)
- 追加されるファイルへの対応:名前に日付が付与されたファイルが毎日新しく追加される。前日分だけを選んで取り込みたい。(後述のパターン②)
- 新しいフォルダへの対応:月ごとに新しくフォルダが作成され、その中にファイルが納品される。参照するフォルダが変わるため、自動化が難しい。(後述のパターン③)
- データを取り込む順番への対応:ファイルAのデータを取り込んだのち、ファイルBのデータを取り込む必要がある。
本記事では、TROCCOのワークフロー機能を活用して、多様なファイル更新パターンごとにデータの取り込みを自動化し、ひとまとめに管理する方法を解説します。
ワークフロー導入の主なメリット
多様なファイル運用を1つに集約
「既存ファイルへの上書き」や「日付付きファイルの新規追加」など、ファイルごとの納品ルールにあわせて作成した転送設定をワークフローにまとめることで、転送するタイミングをワークフローで一元管理します。データの取り込み順序を制御
「ファイルAのデータを取り込んだのち、ファイルBのデータを取り込む」といった実行順序も、直感的な操作で制御できます。エラー検知と通知管理の効率化
各ジョブの成功・失敗をワークフロー単位で監視。通知も設定できるため、個別での設定・管理が不要になります。
ワークフローの設定手順
これから説明するワークフローでは以下のコネクタに格納されるファイルをそれぞれの転送設定でスプレッドシートにデータ連携するフローを作成します。
利用するコネクタ:
Box
Google Drive
SFTP
Google Spreadsheet
ファイルの集約先として
使用するTROCCOの機能:
データ転送:ファイルからデータの取り込みに使用
ワークフロー:データ転送の集約と実行順序の制御に使用
STEP1:ファイル更新パターンに合わせた転送設定
ファイルの運用方法にあわせて、転送設定を作成します。
転送設定STEP1の転送元の設定
概要にて挙げたファイルの運用方法から、設定のポイントを記載しています。
パターン①:ファイルの上書きへの対応
同じファイルに対して上書きでデータが更新されていくパターンへの対応方法です。ファイル名は変更されないため、転送設定ではファイル名を直接指定します。
パターン②:追加されるファイルへの対応
ファイル名に日付が付与されたファイルが納品されるパターンへの対応方法です。転送設定では、ファイル名の日付部分にカスタム変数を埋め込むことで対応します。File_YYYYMMDD.csvのように、ファイル名に8桁の日付(YYYYMMDD)が含まれることを想定して、カスタム変数の設定例を記載します。
- カスタム変数
- 変数名:
$date$ - データ型:時刻・日付 (キューイング時)
- 値・単位・前/後:実際にワークフローが動くタイミングでどの日のファイルを取得するかにあわせて設定
例:実行日の前日分のファイルを転送したい場合は、「1日前」を設定 - 日付フォーマット:
%Y%m%d - タイムゾーン:Asia/Tokyo (+9:00)
- 変数名:
- ファイルプレフィックス/ファイル名の正規表現/パスの正規表現
File_$date$.csv
パターン③:新しいフォルダへの対応(SFTPの場合)
フォルダ名に年月を付与してフォルダを新しく作成し、ファイルが納品されるパターンへの対応方法です。転送設定では、フォルダの日付部分をカスタム変数を埋め込むことで対応します。
/hogehoge/YYYYMM/File_Name.csvのように、フォルダ名に年月(YYYYMM)が含まれることを想定して、カスタム変数の設定例を記載します。
※BOXやGoogleドライブの場合は「フォルダID」を指定する必要があるため、日付パラメータで指定ができません。
- カスタム変数
- 変数名:
$date$ - データ型:時刻・日付 (キューイング時)
- 値・単位・前/後:実際にワークフローが動くタイミングでどの日のフォルダにあるファイルを取得するかにあわせて設定
(例:実行日の前月のフォルダを指定する場合は「1ヶ月前」を設定) - 日付フォーマット:
%Y%m - タイムゾーン:Asia/Tokyo (+9:00)
- 変数名:
- パスプレフィックス
/hogehoge/$date$/
- パスの正規表現
File_Name.csv
転送時にファイルが存在しなかった場合の挙動
転送元の設定項目にある詳細設定では、指定のパスにファイルが存在しなかった場合の処理を設定できます。転送元にファイルが存在しなかった場合(ファイルが納品されていなかった場合)にジョブをエラーにしたい場合は、「転送を中止し、エラーにする」を設定します。
STEP2:ワークフローでジョブの集約と実行順序の設定
作成した転送設定をワークフローに配置し、実行する順番を設定していきます。
ワークフロー作成のポイント:
直列と並列の使い分け
直列:「同じ転送先にファイルAが届いた後にファイルBを取り込む」というように、実行する順番の制御が必要な場合は、タスクを実行したい順番につなぎます。これにより、ワークフロー実行時には必ずタスクをつないだ順番で実行されます。
並列:1つのタスクから複数のタスクにつなぐことで、それらのタスクを同時に実行できます。転送先が異なる場合など、相関のない転送ジョブを同時進行させることで、ワークフロー全体の処理時間を短縮できます。なお、並列の処理には、後述の「タスク同時実行上限数」の設定も関わります。
タスク同時実行上限数の設定
ワークフローの全体設定にある「タスク同時実行上限数」を設定することで、並列に配置されたタスクを同時に実行することができます。スケジュール設定
スケジュールを設定することで、定期的にワークフローを実行することができます。例えば、転送元にファイルが月曜日の午前中に配置されるという場合には、月曜日の午後にワークフローを実行するよう設定することで、ユーザーはファイルが置かれることを確認することなく、自動的にデータ連携を行うことができます。通知設定
ワークフローに通知を設定することで、エラー発生時や、ワークフローの実行完了した際にSlackやメールなどに通知することができます。ワークフローの実行完了時に通知することで、連携されたデータをすぐに使うことができます。
コメント
0件のコメント
記事コメントは受け付けていません。