第111章 FTP コンポーネント
Camel バージョン 1.1 以降で利用可能
このコンポーネントは、FTP および SFTP プロトコルを介したリモートファイルシステムへのアクセスを提供します。
リモート FTP サーバーから使用する場合は、ファイルの使用に関する詳細について、さらに下の ファイルを使用する場合のデフォルト というタイトルのセクションを必ずお読みください。
絶対パスはサポートされて いません。Camel 2.16 は、directoryname
から先頭のスラッシュをすべて削除することにより、絶対パスを相対パスに変換します。ログに WARN メッセージが出力されます。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-ftp</artifactId> <version>x.x.x</version>See the documentation of the Apache Commons <!-- use the same version as your Camel core version --> </dependency>
111.1. URI 形式
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
オプションがサポートされています。consumer が開始すると、ポーリングがスケジュールされる前に、エンドポイント用に設定されたディレクトリーを作成するために追加の 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 の拡張機能です。