第107章 FTP コンポーネント
Camel バージョン 1.1 で利用可能
このコンポーネントは、FTP プロトコルおよび SFTP プロトコルを介してリモートファイルシステムへのアクセスを提供します。
リモート FTP サーバーから使用する場合は、ファイルの消費に関する詳細については、以下の Default というセクションを読み込んでください。
絶対パスはサポートされて いません。Camel 2.16 は、ディレクトリー名
からすべての先頭のスラッシュをトリミングすることで、絶対パスを相対に変換します。ログに 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>
107.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
オプションがサポートされています。コンシューマーが起動すると、ポーリングがスケジュールされる前に、エンドポイントに設定されたディレクトリーを作成するために追加の FTP 操作が実行されます。autoCreate
のデフォルト値は true
です。
ユーザー名が指定 さ れていない場合、匿名
ログインはパスワードなしで試行されます。
ポート 番号が指定されていない場合、Camel はプロトコル(ftp = 21、ftp = 22、ftps = 2222)に応じてデフォルト値を提供します。
URI にクエリーオプションを追加するには、?option=value&option=value&…
このコンポーネントは、実際の FTP 作業に 2 つの異なるライブラリーを使用します。FTP および FTPS は Apache Commons Net を使用しますが、SFTP は JCraft JSCH を使用します。
FTPS コンポーネントは Camel 2.2 以降でのみ利用できます。
FTPS(FTP Secure とも呼ばれています)は、Transport Layer Security(TLS)および Secure Sockets Layer(SSL)暗号化プロトコルに対応する FTP の拡張機能です。