RunMyProcess のDSEC 経由からSFTP データに連携しDigitalSuite Studio で利用

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

SFTP JDBC Driver

Java ベースのアプリケーションやBI ツールからリモートファイルやディレクトリに簡単にアクセス。



Akorbi Digital 社のローコードのクラウドネイティブプラットフォームRunMyProcess のDigitalSuite EnterpriseConnect(通称DSEC)を利用してSFTP をConnector とする方法。

CData JDBC Driver for SFTP は、JDBC 標準をインプリメントし、BI ツールからIDE まで幅広いアプリケーションでSFTP への接続を提供します。この記事では、Akorbi Digital RunMyProcess のDSEC からSFTP に接続し、iPaaS 上のRunMyProcess からSFTP データを利用する方法を説明します。

EnterpriseConnect Agent の初期設定

RunMyProcess のマニュアル内の「EnterpriseConnect」 の手順に従い、EnterpriseConnect Agent を設定します。

JDBC Adapter の設定

「JDBC Adapter」にJDBC経由でRDBMSに接続する手順が記載されているので、本章の内容を参考に「JDBC.config」ファイルを開きます。

#DBAgent Configuration SFTP = {"sqlDriver" : "cdata.jdbc.sftp.SFTPDriver", "sqlSource" = "jdbc:sftp:RemoteHost=MyFTPServer;","sqlDriverPath" = "cdata.jdbc.sftp.jar" }

JDBCドライバのライブラリ cdata.jdbc.sftp.jar をunified-adapter-[version].jar と同じパスに配置します。

(注意)CDataのライセンスファイルcdata.jdbc.sftp.lic も同じパスに配置してください。なお、ラインセンスはCData 製品をインストールしたマシンの固有情報から生成していますので、インストールしたマシンと配置するマシンが異なる場合は、オフラインアクティベーションが別途必要になります。

DigitalSuite EnterpriseConnect Agent の起動

Windows 版の場合は、Windows サービス内のRunMyProcess DigitalSuite EnterpriseConnect Agent を起動します。コマンドでの起動はRunMyProcess マニュアル内の「Starting the EnterpriseConnect Agent」を参照ください。

JDBC Adapter の起動

runAdapter.bat からJDBC Adapter を起動します。Adapter が起動するとagent address(例:127.0.0.1:8080)でアクセスできるようになります。以下、Windows 環境でのコマンド実行結果の例です。

C:\Program Files (x86)\dsec-agent\jdbc>java -Djava.util.logging.config.file=./log.properties -cp lib/* org.runmyprocess.sec2.AdapterHandler : 2021-06-09 14:37:58|INFO|correlationId=|Searching for config file... 2021-06-09 14:37:58|INFO|correlationId=|Adapter Handler started with [JDBC] configuration 2021-06-09 14:37:59|INFO|correlationId=|agent address: 127.0.0.1:8080 2021-06-09 14:38:00.251:INFO::ConnectionThread: Logging initialized @1820ms to org.eclipse.jetty.util.log.StdErrLog 2021-06-09 14:38:00|INFO|correlationId=|onConnect() websocket connection between Agent and Adapter established

DigitalSuite EnterpriseConnect Agent および、JDBC Adapter が正常に起動した状態だと、ローカルマシンのブラウザから http://localhost:(指定したポート番号)/ にアクセスすると下記の画面が表示されます。

Postman やcURL といったAPI にアクセス出来るツールからJDBC Adapter に対してアクセス出来るか確認します。本手順ではPostman を利用してHTTP POST リクエストを発行します。

RequestHeader には以下の通り設定します。

Content-Type application/json

RequestBody には以下の通り設定します。

{ "protocol":"JDBC", "data":{ "DBType":"SFTP", "sqlUsername":"", "sqlPassword":"", "sqlStatement":"SELECT * FROM (テーブル名))" } }

「JDBC.config」ファイルにてクレデンシャル情報を含めている場合は、sqlUsername およびsqlPassword は空のままで構いません。テーブル名がわからない場合は、「SELECT * FROM sys_tables」で一覧を取得出来ます。

Response のStatus が200でBody にJSON 形式でSFTP データが返ってきていれば成功です。

DSEC Agent 経由でのDegitalSuite Studio からのアクセス

DegitalSuite Studio プロジェクトを作成して、作成したプロジェクト内にProvider を作成します。

  • URL : JDBC Agent へのアクセスURL(例:http:localhost:8080/)
  • Authentication Scheme : Login/password
  • Login : application.properties ファイルのagent.user
  • Password : application.properties ファイルのagent.password
  • Secured : Checked
  • Use DigitalSuite EnterpriseConnect : Checked
  • With domain : application.properties ファイルのagent.domain を選択

続いてProvider 内にConnector を作成します。

  • Connector URL : 空白のまま
  • Architecture : REST/XML-RPC
  • Method : POST
  • Result format : JSON
  • Accept media type : application/json
  • Character set : Automatic
  • Content : JDBC AdapterでテストしたRequest body と同じ
  • Content type : application/json

ContentにはJDBC Adapter でテストしたRequest body と同じJSON データを登録します。

{ "protocol":"JDBC", "data":{ "DBType":"SFTP", "sqlUsername":"", "sqlPassword":"", "sqlStatement":"SELECT * FROM (テーブル名))" } }

「Launch Test」を開いて、テストを実行します。右側ペインの「Result」内にSFTP 内のデータが取得出来ている事を確認出来たら成功です。

このようにSFTP 内のデータをDSEC 経由でRunMyProcess DegitalSuite Studio で利用することができるようになります。

サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。