第110章 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>

110.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、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 の拡張機能です。