FTPDownload - FTPでファイル・フォルダーをダウンロード

FTPサーバーからファイルをダウンロードします。
フォルダーを指定してフォルダーの中のファイルをまとめてダウンロードすることもできます。
ダウンロードしたファイルと同じ名前のファイルがすでに存在していた場合は上書きされます。

ダウンロードしたファイルを直接ファイルに保存するので、FTPGetコンポーネントよりもメモリの使用量が少なくなります。

■ストリーム情報

入力フォーマットすべて
接続数1
説明 入力ストリームは使用せず、すべて無視します。
出力フォーマットすべて
説明入力をそのまま出力プロパティが「はい」である場合は入力ストリームをそのまま出力します。 「いいえ」である場合は、FTPサーバーからダウンロードしたローカルファイルの情報を次のようなフィールド定義のレコードとして出力します。
フィールド名データ型説明
FileNameStringファイル名
FilePathStringファイルのフルパス
FileDateDateTimeファイルの更新日時
FileSizeIntegerファイルサイズ

■コンポーネントプロパティ

名前プロパティ型マッピング説明
コネクションを使用boolean- 接続先にコネクション名 に指定されたコネクションを使用するかどうか選択します。
はい [true] - コネクション名 で指定されたFTP接続名の接続設定を使ってFTPまたはSFTPによる接続を行います。
いいえ [false] - コネクション情報 以下の値を使ってFTPまたはSFTPによる接続を行います。
コネクション名connection-コネクションを使用 が「はい」の場合に接続先のFTPサーバーを指定します。 コネクションペインまたは管理コンソールにて作成したFTP接続名を選択します。
コネクション情報group-コネクションを使用 が「いいえ」の場合に使用されるプロパティ群です。
プロトコルchoice入力&出力 接続先がFTPサーバーであるかSFTPサーバーであるかを指定します。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
ftp - 接続先がFTPサーバーの場合
sftp - 接続先がSFTPサーバーの場合
サーバー名string入力&出力 接続先のFTPまたはSFTPサーバー名を指定します。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
ポート番号int入力&出力 接続先のFTPまたはSFTPサーバーのポート番号を指定します。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
パッシブモードboolean入力&出力 FTP接続のモードでパッシブモードを使うかどうかを指定します。
接続先がSFTPサーバーの場合、この設定は参照されません。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
はい [true] - パッシブモードを使用します。
いいえ [false] - パッシブモードを使用しません。
ファイル名のエンコーディングchoice入力&出力 転送されるファイルのファイル名のエンコーディングを指定します。 日本語のファイル名を使わない場合(US-ASCII文字のみの場合)にはどれを指定しても構いません。
接続先がSFTPサーバーの場合、この設定は参照されません。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
タイムアウト(秒)int入力&出力 FTPまたはSFTPクライアントとして、接続がタイムアウトするまでの時間を指定します。 最後に通信が行われてから指定時間経過するとタイムアウトとなります。
コネクションを使用 が「いいえ」の場合、この設定を参照します。 FTPPutコンポーネントFTPScriptコンポーネントFTPUploadコンポーネントではタイムアウトが有効にならないことがあります。
ユーザー名string入力&出力 FTPまたはSFTPサーバーへのログイン名を指定します。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
パスワードpassword入力&出力 上記ログイン名に対応するパスワードを指定します。
接続先がSFTPサーバーで、公開鍵認証のキーファイル が指定されている場合、この設定は参照されません。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
公開鍵認証のキーファイルstring入力&出力 SFTPサーバーが公開鍵認証である場合に、認証で使用する秘密鍵のファイル名を絶対パスで指定します。
接続先がFTPサーバーの場合、この設定は参照されません。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
キーファイルのパスフレーズpassword入力&出力公開鍵認証のキーファイル で指定した秘密鍵がパスフレーズで保護されている場合には、そのパスフレーズを指定します。
接続先がFTPサーバーの場合、この設定は参照されません。
コネクションを使用 が「いいえ」の場合、この設定を参照します。
ダウンロードファイルパスstring入力&出力 ダウンロードするファイルのフォルダーパスまたはファイルパスを相対パスで指定します。絶対パスでの指定はできません。
「*」と「?」の2つのワイルドカードが使用できます。「*」は0個以上の任意の文字に、「?」は任意の1文字にマッチします。
ワイルドカードが指定された場合は、保存先ファイルパスの指定はフォルダー名として解釈されます。
フォルダーが指定された場合は、そのフォルダーの中のすべてのファイル、フォルダーをダウンロードします。
保存先ファイルパスremoteFile入力&出力 ダウンロードしたファイルを保存するファイル、フォルダーのパスを指定します。
UNIXシステムの場合は、パス名は接頭辞が "/" の場合に絶対パスとみなします。Windowsシステムの場合は、パス名は接頭辞がドライブ指示子のあとに "\\" が続く場合、または接頭辞が "\\" の場合に絶対パスとみなします。
相対パスで指定した場合は、相対パスの起点で指定したホームからの相対になります。
ファイルパスの詳細設定group- ファイルパスの詳細設定を行うプロパティ群です。
相対パスの起点pathResolver- 相対パス指定の場合にベースフォルダーを指定します。
プロジェクトフォルダ [Relative]
プロジェクトファイルと同じフォルダを起点にします。
ホームフォルダー [ProjectOwner]
ユーザーのホームフォルダーを起点にします。
実行ユーザーのホームフォルダー [ExecuteUser]
実行ユーザーのホームフォルダーを起点にします。
絶対パスを許可boolean- 絶対パスを許可するかどうか選択します。
「..」を許可boolean- 上のフォルダへ移動する記述に「..」を許可するかどうか選択します。
ファイル日時を取得するboolean- ダウンロードしたファイルの最終更新日時をFTPサーバー上のファイルの最終更新日時と同じ日時に設定するかどうかを選択します。
最終更新日時を設定する必要がない場合、本プロパティで「いいえ」を選択するとパフォーマンスが向上します。
はい [true] - ファイルの最終更新日時を設定します。
いいえ [false] - ファイルの最終更新日時を設定しません。
コミット時の処理choice- コミット時に、ダウンロードしたファイルをFTPサーバーから削除するかどうかを指定します。
ファイルを削除 [true] - 削除します。
何もしない [false] - 削除しません。
入力をそのまま出力streamPassThrough- コンポーネントの入力ストリームをそのまま出力ストリームにするかどうかを指定します。
はい」を選択すると、そのまま出力することを示すアイコンに切り替わります。
はい [true] - 入力ストリームがそのまま出力ストリームになります。
いいえ [false] - FTPサーバーからダウンロードしたファイルの情報をレコード形式で出力します。

■ループ処理

なし。

■トランザクション処理

コミットコミット時の処理が「ファイルを削除」の場合、ファイルをFTPサーバーから削除します。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
ファイルが存在しない なし コンポーネントの入力ストリーム1ダウンロードファイルパスで指定したファイルが見つからなかった場合
2ダウンロードファイルパスで指定したフォルダーが見つからなかった場合
ダウンロード先が既に存在する なし コンポーネントの入力ストリーム3ダウンロードファイルパスにワイルドカードが含まれていて、ダウンロード先に既に同名のファイルが存在していた場合
ダウンロード元がフォルダーで、ダウンロード先に既に同名のファイルが存在していた場合
ダウンロード元がファイルで、ダウンロード先に既に同名のフォルダーが存在していた場合
汎用 なし コンポーネントの入力ストリーム4ダウンロード先のフォルダーが作成できなかった場合
10コネクション名に指定したコネクションが見つからない場合
11FTPサーバーに接続できない場合
12FTPサーバーがエラーを返した場合

■フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。強制終了された場合、トランザクションをロールバックします。

■制限事項

LISTコマンドの結果が、Windows, Unixスタイルのファイルリストのみ対応しています。それ以外の場合にはエラーとなることがあります。

■ダウンロード元、ダウンロード先の状況と動作の詳細

ダウンロードファイルパスでワイルドカードが使用されず、かつ保存先ファイルパスがパス区切り文字で終了していない場合の動作は、実行時の状況により異なります。
ダウンロードファイルパス保存先ファイルパスで指定したパスに対して、以下の3つのパターンが想定されます。

  1. パスに該当するファイルが存在する
  2. パスに該当するフォルダーが存在する
  3. パスに該当するファイル、フォルダーが存在しない
それぞれのパターンの組み合わせと、このコンポーネントの動作の関係は以下の表のようになります。
ダウンロードファイルパス保存先ファイルパス動作
ファイルファイル保存先ファイルパスで指定されたファイルを上書きしてダウンロードします。
ファイルフォルダー保存先ファイルパスで指定されたフォルダーの中にダウンロードファイルパスで指定されたファイルをダウンロードします。
保存先ファイルパスで指定されたフォルダーの中にダウンロードファイルパスで指定されたファイルと同名のファイルが既に存在する場合は、上書きされます。
保存先ファイルパスで指定されたフォルダーの中にダウンロードファイルパスで指定されたファイルと同名のフォルダーが既に存在する場合は、"エラーコード=3"のエラーが発生します。
ファイル存在しない保存先ファイルパスで指定されたパスをファイル名として解釈し、ダウンロードファイルパスで指定されたファイルのファイル名を保存先ファイルパスで指定されたファイルのファイル名に変更してダウンロードします。
保存先ファイルパスで指定されたパスに含まれる上位フォルダーが存在しない場合は、そのフォルダーを作成します。
フォルダーファイル"エラーコード=3"のエラーが発生します。
フォルダーフォルダー保存先ファイルパスで指定されたフォルダーの中に、ダウンロードファイルパスで指定されたフォルダーをダウンロードします。
フォルダー存在しない保存先ファイルパスで指定されたパスをフォルダー名として解釈し、フォルダーを作成します。この時、上位フォルダーが存在しない場合は、上位フォルダーも作成します。そして、作成したフォルダーの中にダウンロードファイルパスで指定されたフォルダーをダウンロードします。
存在しないファイル"エラーコード=1"または"エラーコード=2"のファイルが存在しないが発生します。
フォルダー
存在しない


保存先ファイルパスがパス区切り文字(/や\)で終了している場合、あるいはダウンロードファイルパスでワイルドカードが使用された場合は、ダウンロード対象のファイル、フォルダーが複数であるかどうかにかかわらず、保存先ファイルパスの指定はフォルダー名として解釈され、以下のように動作します。