実現したいこと
Blob Storage に対向システムからファイルを連携し、集めたファイルを日次で取り込む処理をDatafactoryを使ってつくりたい。
対向システムのファイル送信が遅れることもあり、リカバリすることを考えて、ファイルがある分だけ取り込み対象とし、取り込んだらbkフォルダに移動する。
今回の業務上、少なくとも毎日1ファイルは存在するため、取り込むファイルが無い場合はエラーとすることとした。
全体像
- 処理したいディレクトリ配下のファイルを取得
今回の例だとグレー背景部分 - 処理したいファイルだけに絞る
今回の場合、「file1」が含まれているファイル - 処理するファイルがあれば後続処理
処理するファイルが存在しない場合は、エラーとして扱う - データ登録、ファイル移動・削除
a. Blob storage のファイルを SQL DB に登録
b. 処理したファイルをBKディレクトリにコピー移動
c. 処理したファイルを削除
各アクティビティの設定値
上図の各アクティビティの設定値の中身は以下の通り。
アクティビティ 1
アクティビティ 2
アクティビティ 1 で取得したリストの中から、取り込み対象ファイルのみとする。誤ったファイルを取り込まないために、取り込み対象のファイル名に絞る処理を入れている。
アクティビティ 3
取り込み対象ファイルが存在するかチェックする。
今回の処理では少なくとも1件はファイルが存在するため、1件以上あるかチェックし、0件の場合はエラーとしている。
アクティビティ 4-a
blob storage から SQL Database にデータ投入する。
取り込むファイル名は変数とし、アクティビティ 2 で取得したファイル名を使っている。