Access Keys:
Skip to content (Access Key - 0)

SFTPトランスポートは、SFTPを利用してディレクトリからファイルの読み書きを可能にします。VFSトランスポートで扱えるファイル・サイズは制限されていますが、SFTPトランスポートはメッセージのペイロードにInputStreamを使うために大きなファイルを扱うことができます。
SFTPコネクタはJSCH 0.1.29ライブラリに基づいています。
SFTPプロジェクトは、2つのバージョンを提供しています:
- tag : ESB Muleバージョン1.3.3に対応
- trunk : ESB Muleバージョン1.4.4に対応

インストレーション・ガイド例題も参照してください。ユニット・テストにも例があります。

SFTPコネクタのプロパティ

プロパティ 説明 デフォルト 必須
pollingFrequency 読込みディレクトリをチェックする間隔(ミリ秒)。読込みディレクトリは、コンポーネントのエンドポイントで指定します。 1000 ×
filenameParser org.mule.providers.file.FilenameParser の実装で、ファイル名パターンからをファイル名の生成を制御します。ファイル・プロバイダは以下のパターンを認識する実装 org.mule.providers.file.SimpleFilenameParser がデフォルトで定義されています:
  • ${DATE}- 現在の日付。形式: dd-MM-yy_HH-mm-ss.SS
  • ${DATE:yy-MM-dd}- 指定された形式で、現在の日付
  • ${SYSTIME}- 現在のシステム時刻(ミリ秒)
  • ${UUID}- 生成された汎用一意識別子
  • ${ORIGINALNAME}- 書き出すファイルが別の場所から読込まれた場合、元のファイル名
  • ${COUNT}- 連番カウンタ
org.mule.providers.file. SimpleFilenameParser
outputPattern VFSファイル・システムに書き出す場合のデフォルト・パターン。コネクタに設定されている filenameParser を使う。ESB Muleメッセージにプロパティを設定して、このパターンを上書きすることが可能(キーVfsConnector.PROPERTY_FILENAMEを使う)。

Yes
autoDelete 処理した後に、読み込みディレクトリのファイルを削除する。 true ×

SFTPエンドポイント

SFTPエンドポイントは以下のような、標準のURIで指定します:
sftp://<ユーザ名>:<パスワード>@<ホスト>/path/to/dir
例えば、SFTP絵インドポイントを次のように定義することができます:
sftp://mule:test123@myhost.com/tmp/mule-vfs
この定義は、SFTPを使ってホストmyhost.comにmule/test123として接続し、~/tmp/mule-vfsを読み書きします。

トランスフォーマー

トランスフォーマー 説明
org.mule.providers.sftp.transformers.InputStreamByteArray
InputStreamをバイト配列に変換します。

このトランスフォーマはSFTPメッセージ・レシーバを非ストリーミング・サービス・コンポーネント及びメッセージ・ディスパッチャと使えるようにします。このトランスフォーマはSFTP受信エンドポイントに追加して、サービス・コンポーネント又はメッセージ・ディスパッチャがInputStreamの代わりにバイト配列として、ペイロードを受けられるようにします。ただし、ファイルが大きい場合はInputStreamでOOMエラーになりますので、注意してください。

ユニット・テスト

JUnitクラス
説明
org.mule.providers.sftp.LargeFileReceiveFunctionalTestCase
SftpMessageReceiverが大きいファイルを読み込むことができるたテストします。ファイルはサービス・コンポーネントReceiveLargeFileTestHelperComponentで受け取られ、ディレクトリ/tmpにストリームされます。
org.mule.providers.sftp.LargeFileSendFunctionalTestCase SftpMessageReceiverが大きいファイルを送信できるかテストします。ファイルはローカル機器のファイル/tmp/big.zipにストリームされます。
org.mule.providers.sftp.SendReceiveFunctionalTestCase 複数ファイルを送信/受信できるかテストします。
Adaptavist Theme Builder (3.3.2-conf2.10) Powered by Atlassian Confluence 2.10, the Enterprise Wiki.
Free theme builder license