データ連携ツールのCloverETL のビジュアルワークフローでSFTP データ連携を作成。
CData JDBC Driver for SFTP は、CloverETL からSFTP へのcreate, read, update, and delete (CRUD) commands 処理を実現します。本記事では、CloverETL でJDBC Driver を使い、SFTP をシンプルなCSV ファイルに変換します。
JDBC Data Source でSFTP に接続
- SFTP データへの連携を作成します。CloverETL の新しいgraph で、Outline ペインのConnections ノードを右クリックして、Create Connection をクリックします。Database Connection ウィザードが表示されます。
- +アイコンをクリックして、.jar ファイルをロードします。インストールディレクトリのlib フォルダの cdata.jdbc.sftp.jar ファイルを選択します。
- JDBC URL を入力します。一般的な接続文字列は:
jdbc:sftp:RemoteHost=MyFTPServer;
FTP は、SFTP プロトコルを使用してSFTP サーバーとの間のファイル転送を行います。接続するにはRemoteHost を指定します。FTP はUser、Password、および公開鍵認証(SSHClientCert)を使用します。 SSHAuthMode を選択し、選択に基づいて接続値を指定します。
次の接続プロパティを設定し、ファイルシステムのリレーショナルビューをコントロールします。
- RemotePath: 現在の作業ディレクトリに設定。
- TableDepth: ビューとしてレポートするサブフォルダの深度を制御するために設定。
- FileRetrievalDepth: ファイルを再帰的に取得し、Root テーブルにリストするために設定。

DBInputTable コンポーネントで、SFTP データをクエリ
- DBInputTable をReaders セクションからドラッグし、ジョブフローに置きます。ダブルクリックして、設定エディタを開きます。
- DB コネクションプロパティで、SFTP JDBC をドロップダウンから選択します。
- SQL クエリを入力します。例:
SELECT * FROM MyDirectory
UniversalDataWriter でQuery のOutput を記述
- Writer セクションからUniversalDataWriter をドラッグして、ジョブフローに置きます。
- UniversalDataWriter をダブルクリックして、設定エディタを開き、ファイルURL を足します。
- DBInputTable をダブルクリックして、Extract Metadata をクリックします。
- DBInputTable のOutput ポートをUniversalDataWriter に接続します。
- UniversalDataWriter のSelect Metadata メニューでMyDirectory テーブルを選択します。(UniversalDataWriter のInput ポートを右クリックしてメニューを開くことも可能です。)
- Run をクリックして、ファイルの書き込みを実行します。
