Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説
SFTPアダプタとSFTPサーバ間の通信について説明します。
SFTPサーバとの接続では,SFTPアダプタはSFTPサーバに対してセッション接続を要求します。セッション接続では次の処理が実行されます。
セッション接続は,リクエストごとに接続または切断をし,ほかのリクエストで再利用をしません。
以降で,セッション接続時の処理について説明します。
暗号化通信路の確立のために,次の情報のリスト(以降,アルゴリズムのリストと呼びます)をSFTPアダプタとSFTPサーバ間で交換します。
SFTPアダプタがサポートするアルゴリズムのリストを次に示します。
表2-82 アルゴリズムのリスト
種別 | アルゴリズムのリスト |
---|---|
鍵交換方式 |
|
共通鍵暗号方式 |
|
メッセージ認証コード |
|
ホスト認証の方式 |
|
圧縮アルゴリズム |
|
使用されるアルゴリズムは,クライアントから送信されたリストを先頭から順に参照し,サーバのリストに存在するものが選ばれます。
暗号の優先順位は,上記の表の記載順となります(上位にあるほど優先順位が高い)。
アルゴリズムの優先順位は,SFTPアダプタ実行環境プロパティファイルで入れ替えることができます。
ホスト認証とは,サーバのなりすましを判断するための認証です(クライアント側でサーバの正当性を確保します)。
ホスト認証では厳格なホスト公開鍵チェックをすることによって,接続先が目的のサーバであるかどうかを検証できます。
ユーザ認証とは,クライアントが指定したユーザがサーバにログインできるかをサーバ側が確認するための認証です。SFTPアダプタでは,ユーザ認証を省略することはできません。
SFTPアダプタでサポートするユーザ認証を次に示します。
SFTPアダプタで実行可能なファイル転送のパターンを次に示します。
以降で,それぞれのパターンについて説明します。
SFTPアダプタからSFTPサーバへファイルを転送します。
1リクエストで転送できるファイルは1つだけで,ディレクトリ単位での転送や複数のファイルの転送はできません。
また,転送先にすでにファイルがある場合は上書き,または追記をします。
要求電文のoverwrite-data要素の値がtrueの場合は上書きを,要素の値がfalseの場合は追記をします。
ファイル転送に失敗した場合,SFTPアダプタは後処理として転送先のファイルは削除しません。そのため,転送先のファイルが削除されるかどうかはSFTPサーバに依存します。
SFTPサーバからSFTPアダプタへファイルを転送します。
1リクエストで転送できるファイルは1つだけで,ディレクトリ単位での転送や複数のファイルの転送はできません。
また,転送先にすでにファイルがある場合は上書きをします。
ファイル転送に失敗した場合,後処理としてローカル側のファイルの削除を試みます。
SFTPサーバのファイル情報の一覧,またはファイル名一覧を取得します。
ファイル情報とファイル名のどちらの一覧を取得するかは,要求電文で指定します。
また,取得対象は要求電文で指定し,ディレクトリを指定した場合はディレクトリ配下のファイルの情報を,ファイルを指定した場合は該当するファイルの情報を取得します。
ファイル情報の一覧,またはファイル名一覧の取得結果は応答電文に格納し,ファイルへは出力しません。
ファイル情報の一覧取得では,取得したファイルごとに応答電文に格納されます。
応答電文に格納されるときのフォーマットを次に示します。
パーミッション ユーザ識別子 グループ識別子 ファイルサイズ(バイト) 更新時刻 ファイル名 |
ファイルへは,各項目を空白区切りで出力します。
ファイルへの出力例を次に示します。
-rw-r--r-- 0 0 9936 Thu Oct 16 05:28:47 JST 2018 data1 |
SFTPアダプタが実行するコマンドは,次の2つに大別できます。
次に,それぞれのSFTPコマンドについて説明します。
オペレーションに対応するSFTPコマンドは,SFTPアダプタが要求電文から実行するオペレーションを自動的に判別して実行します。
SFTPアダプタが自動的にSFTPコマンドを実行するため,ユーザはコマンドの書式を考慮する必要はありません。
SFTPアダプタのオペレーションに対応するSFTPコマンドの一覧を次に示します。
表2-83 SFTPアダプタのオペレーションに対応するSFTPコマンドの一覧
コマンド名 | 説明 | 対応するオペレーション |
---|---|---|
get | リモートマシンのファイルをローカルマシンにダウンロードします。 | GETオペレーション |
ls | リモートマシン上のファイル一覧またはファイル名一覧を取得します。 | GETINFOオペレーション |
put | ローカルマシンのファイルをリモートマシンにアップロードします。 | PUTオペレーション |
ユーザ指定のSFTPコマンドは,要求電文のsftp-commands-beforeおよびsftp-commands-afterに実行指示がある場合だけコマンドが実行されます。
ユーザは,コマンドの機能および書式を考慮した上で,要求電文にSFTPコマンドを指定する必要があります。
ユーザ指定のSFTPコマンドの一覧を次に示します。
表2-84 ユーザ指定のSFTPコマンドの一覧
コマンド名 | コマンドの形式 | 説明 |
---|---|---|
cd | cd <変更先のディレクトリのパス>※ | リモート側のカレントディレクトリを変更します。 cdコマンドで変更したカレントディレクトリは,再度cdコマンドを実行するか,リクエストが終了するまで有効です。 |
mkdir | mkdir <作成するディレクトリのパス> | リモートマシン上にディレクトリを作成します。 |
rename | rename <変更前のファイルのパス> <変更後のファイルのパス> | リモートマシン上のファイルの名前を変更します。 |
rm | rm <削除するファイル名> | リモートマシン上のファイルを削除します。 |
rmdir | rmdir <削除するディレクトリ名> | リモートマシン上のディレクトリを削除します。 ディレクトリ配下が空の場合だけ削除できます。 |
SFTPアダプタは,データを圧縮して転送できます。
転送データの圧縮は,要求電文またはSFTPアダプタ実行環境プロパティファイルのどちらかで指定できます。要求電文フォーマットの作成方法については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.15 SFTPアダプタを定義する」の電文フォーマットの作成に関する説明を参照してください。SFTPアダプタ実行環境プロパティファイルで設定できる項目の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「SFTPアダプタ実行環境プロパティファイル」を参照してください。
リクエストの正常終了,異常終了に関係なく,SFTPアダプタはリクエスト終了時に,SFTPサーバとのセッションを切断します。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.