n8nでファイルを扱うときは、本文や名前を持つJSONと、ファイル本体を持つbinaryを区別します。名前が表示されていても、次のノードへファイル本体が渡っているとは限りません。
OUTPUTで、binaryの項目を確認する
HTTP取得、メール添付、ストレージのダウンロードなど、入口によってbinaryの項目名が変わります。後続のInput Data Field Nameには、実際に存在する項目名を指定します。慣例でdataと書く前に、OUTPUTを見てください。
一件の入力で分けるもの
json:依頼ID、元URL、元ファイル名、保存先ID
binary:ファイル本体を持つ項目
記録:取得したサイズ、種類、保存結果ID
n8nにはConvert to File、Extract From Fileなどの処理があります。対応する形式と導入環境は公式のファイル処理で確認できます。
取得・変換・保存のどこで大きくなるか見る
大きいファイルを複数同時に扱うと、取得時だけでなく、解凍や変換の途中でもメモリや作業領域を使います。最大ファイルサイズ、一度に扱う件数、処理後に残すものを決めてください。
| 段階 | 確認する上限 |
|---|---|
| 受信・取得 | 入口・プロキシ・接続先のサイズ制限 |
| 変換 | 作業メモリ、一時領域、処理時間 |
| 保存 | 保存容量、ファイル名、公開範囲 |
| 再実行 | 元ファイルをもう一度取得できるか |
ローカルの保存先は、n8nの実行場所を指す
Read/Write Files from Diskが扱うのは、n8nが実行されている環境のファイルです。自分のブラウザを開いたPCのDownloadsへ保存する、という意味ではありません。コンテナならVolumeと保存パスを確認し、Cloudで使える機能も照合します。
外部入力のファイル名を、そのまま保存パスへ連結しないようにします。許可したフォルダと、運用側で作る保存名を使い、元の名前はmetadataへ残します。
保存成功は、結果IDと内容で確認する
少数の小さな試験ファイルで、内容、サイズ、保存先を照合します。ファイルなし、二添付、同名、途中停止を試験へ加えます。保存結果IDが出た後に通知が失敗した場合は、再保存までやり直さないようにします。
メール添付はGmailからDriveへの保存へ、同じ元ファイルの再送は二重実行の防止へ分担します。