第107章 FTP コンポーネント
Camel バージョン 1.1 以降で利用可能
このコンポーネントは、FTP および SFTP プロトコルを介したリモートファイルシステムへのアクセスを提供します。
リモート FTP サーバーから使用する場合は、ファイルの使用に関する詳細について、さらに下の ファイルを使用する場合のデフォルト というタイトルのセクションを必ずお読みください。
絶対パスはサポートされて いません。Camel 2.16 は、directoryname
から先頭のスラッシュをすべて削除することにより、絶対パスを相対パスに変換します。ログに WARN メッセージが出力されます。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
107.1. URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
ftp://[username@]hostname[:port]/directoryname[?options] sftp://[username@]hostname[:port]/directoryname[?options] ftps://[username@]hostname[:port]/directoryname[?options]
ftp://[username@]hostname[:port]/directoryname[?options]
sftp://[username@]hostname[:port]/directoryname[?options]
ftps://[username@]hostname[:port]/directoryname[?options]
directoryname は、基礎となるディレクトリーを表します。ディレクトリー名は相対パスです。絶対パスはサポートされて いません。相対パスには、/inbox/us などのネストされたフォルダーを含めることができます。
Camel 2.16 より前のバージョンの Camel の場合、このコンポーネントは autoCreate
オプション (ファイルコンポーネントがサポートする) をサポートしていないため、directoryName はすでに存在している 必要があります。その理由は、FTP 管理者 (FTP サーバー) のタスクが適切にユーザーアカウントを設定し、適切なファイルアクセス許可を持つホームディレクトリーなどを設定するためです。
Camel 2.16 では、autoCreate
オプションがサポートされています。コンシューマーが開始すると、ポーリングがスケジュールされる前に、エンドポイント用に設定されたディレクトリーを作成するために追加の FTP 操作が実行されます。autoCreate
のデフォルト値は true
です。
ユーザー名 が指定されていない場合、パスワードを使用せずに 匿名
ログインが試行されます。
ポート 番号が指定されていない場合、Camel はプロトコル (ftp = 21、sftp = 22、ftps = 2222) に従ってデフォルト値を提供します。
URI には、?option=value&option=value&…
の形式でクエリーオプションを追加できます。
このコンポーネントは、実際の FTP 作業に 2 つの異なるライブラリーを使用します。FTP と FTPS は Apache Commons Net を使用し、SFTP は JCraft JSCH を使用します。
FTPS コンポーネントは、Camel 2.2 以降でのみ使用できます。
FTPS (FTP セキュアとも呼ばれる) は、Transport Layer Security (TLS) および Secure Sockets Layer (SSL) 暗号化プロトコルのサポートを追加する FTP の拡張機能です。