2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure DataFactory で Blob Storage から SQL Database にファイル取り込み

Posted at

実現したいこと

Blob Storage に対向システムからファイルを連携し、集めたファイルを日次で取り込む処理をDatafactoryを使ってつくりたい。
対向システムのファイル送信が遅れることもあり、リカバリすることを考えて、ファイルがある分だけ取り込み対象とし、取り込んだらbkフォルダに移動する。
今回の業務上、少なくとも毎日1ファイルは存在するため、取り込むファイルが無い場合はエラーとすることとした。
20201116_datafactory.png

全体像

下図の流れでデータ取り込みをすることとした。
20201116_datafactory (1).png

  1. 処理したいディレクトリ配下のファイルを取得
     今回の例だとグレー背景部分
  2. 処理したいファイルだけに絞る
     今回の場合、「file1」が含まれているファイル
  3. 処理するファイルがあれば後続処理
     処理するファイルが存在しない場合は、エラーとして扱う
  4. データ登録、ファイル移動・削除
     a. Blob storage のファイルを SQL DB に登録
     b. 処理したファイルをBKディレクトリにコピー移動
     c. 処理したファイルを削除

各アクティビティの設定値

上図の各アクティビティの設定値の中身は以下の通り。

アクティビティ 1

ディレクトリ内のファイルのリストを取得する。
20201116_datafactory (2).png

アクティビティ 2

アクティビティ 1 で取得したリストの中から、取り込み対象ファイルのみとする。誤ったファイルを取り込まないために、取り込み対象のファイル名に絞る処理を入れている。
20201116_datafactory (3).png

アクティビティ 3

取り込み対象ファイルが存在するかチェックする。
今回の処理では少なくとも1件はファイルが存在するため、1件以上あるかチェックし、0件の場合はエラーとしている。
20201116_datafactory (4).png

アクティビティ 4-a

blob storage から SQL Database にデータ投入する。
取り込むファイル名は変数とし、アクティビティ 2 で取得したファイル名を使っている。
20201116_datafactory (5).png

アクティビティ 4-b

取り込んだファイルをbkフォルダに移動する。
20201116_datafactory (6).png

アクティビティ 4-c

bkフォルダに移動したファイルを削除する。
20201116_datafactory (7).png

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?