DataSpider Servista 4.4 SP3 にバージョンアップしたところ、以下の設定を行っているFTPアダプタの [更新] 処理の挙動が変わってしまいました。
具体的には以下のように、SFTPサーバ側にファイル名のディレクトリが作成され、その下にファイルが配置されるようになりました。
<FTPアダプタの設定>
・ローカルパス:/data/AWS_SFTP/44SP3.txt
・リモートパス:/appressotest001/sftp/44SP3.txt
・更新する際の条件:存在
<SFTPサーバ側のファイルの配置>
4.4 SP2以前
・/appressotest001/sftp/44SP3.txt
4.4 SP3 以降
・/appressotest001/sftp/44SP3.txt/44SP3.txt
上記の原因と回避策について教えてください。
■原因
本事象は、DataSpider Servista 4.4 SP3 以降のFTPアダプタで使用しているライブラリのバージョンが上がって挙動が変わり、存在しないファイルパスへのcdコマンドが成功してしまうことで発生しています。
FTPアダプタは内部動作として、cdコマンドが成功するか否かでディレクトリであるか否かの判定を行っている箇所があります。
このため、ファイルへのcdコマンドが成功する SFTPサーバの場合、4.4 SP2 以前のバージョンでも正常に動作しない場合があることが報告されていました。
しかし、今回のライブラリのバージョンアップによる挙動変更によって、ファイルへのcdコマンドが成功する SFTPサーバの場合、存在しないファイルパスへのcdコマンドも成功するようになりました。
なお、ファイルへのcdコマンドが成功する SFTPサーバとして、過去事例では AWS Transfer Family や Concur が報告されています。
■回避策
過去事例では、リモートパスにファイル名を含めず、ディレクトリのみを指定することで事象を回避していました。
■FTPアダプタの注意点について
FTPアダプタは、特定の接続先への接続をサポートしていない汎用アダプタです。
また、汎用的な処理を行うため、ファイルへのcdコマンドが失敗することを前提として機能を実装しています。
上記より、特定の接続先特有の動作にあわせた機能実装になっていません。
このため、FTPアダプタを使用する場合や DataSpider Servista のバージョンアップを行う場合は、
事前に動作検証を行い、お客様の想定通りの動作が可能であるかご確認をお願いいたします。
■今後の対応
FTPアダプタでは、ファイルや存在しないファイルパスへのcdが成功するSFTPサーバに対しても正常に動作するよう、
次期以降のバージョンにて対応を検討しています。
なお、対応時期は未定です。(2025/05/07現在)