FTP 受信アダプタに関する設定
概要
受信 FTP アダプタには以下の設定があります。
残りの設定はすべてのビジネス・サービスに共通しています。詳細は、"すべてのビジネス・サービスに含まれる設定" を参照してください。
[タイムスタンプ追加]
[アーカイブパス] と [ワークパス] のディレクトリ内のファイル名にタイム・スタンプを付加します。これにより、同じファイル名の繰り返し処理で発生する可能性のある名前の競合を避けることができます。
-
この値が空か 0 の場合は、タイム・スタンプが付加されません。
-
この設定が 1 の場合は、標準テンプレート '%f_%Q' が付加されます。
-
その他の可能性のある値は、"ファイル名に関するタイム・スタンプ指定" を参照してください。
[アーカイブパス]
FTP サーバから受信した各ファイルのコピーを保存するための InterSystems IRIS® サーバ上のディレクトリの完全パス名です。このディレクトリは存在するディレクトリであること、また、ローカル InterSystems IRIS マシンのファイル・システムからアクセス可能なディレクトリであることが必要です。
指定しない場合、InterSystems IRIS は一時保管場所にファイルのローカル・コピーを保管し、処理の完了後に削除します。
システムからメッセージ本文をパージすると、メッセージ本文で参照していた Archive Path 内のファイルはすべて削除されます。詳細は、"プロダクション・データのパージ" を参照してください。
呼び出し間隔
アダプタの秒単位のポーリング間隔。これは、アダプタが指定された場所で入力ファイルをチェックする時間間隔です。
ポーリング時にアダプタがファイルを検出すると、アダプタはファイルをストリーム・オブジェクトにリンクし、ストリーム・オブジェクトを関連ビジネス・サービスに渡します。一度に複数のファイルを検出すると、アダプタはファイルが検出されなくなるまで、個々のファイルのビジネス・サービスに対して 1 つの要求を送信します。
ビジネス・サービスが各ファイルを同期で処理した場合、ファイルは順次処理されます。ビジネス・サービスが各ファイルをビジネス・プロセスまたはビジネス・オペレーションに非同期で送信した場合、ファイルは同時処理される場合があります。
有効なファイルをすべて処理し終わると、アダプタはポーリング間隔が経過してから、再度ファイルをチェックします。プロダクションが実行中であり、ビジネス・サービスが有効化され、アクティブになるようにスケジュールされている場合、このサイクルは常に継続されます。
入力間の [呼び出し間隔] 期間だけアダプタが遅延するように、ビジネス・サービス内にコールバックを実装できます。詳細は、"ビジネス・サービスの定義" を参照してください。
CallInterval のデフォルト値は 5 秒です。最小値は 0.1 秒です。
Charset
入力ファイルの文字セットを指定します。InterSystems IRIS は、自動的に、文字をこの文字エンコーディングから変換します。この設定値は大文字と小文字が区別されません。Binary は、バイナリ・ファイル、新規行文字と改行文字が異なるデータ、または、HL7 バージョン 2 や EDI メッセージのように変更しないまま残す必要のあるデータに対して使用します。テキスト・ドキュメントを転送するときは、他の設定が便利な場合があります。選択肢は以下のとおりです。
-
Binary — バイナリ転送 (FTP アダプタのデフォルト)
-
Ascii — 文字エンコーディング変換を伴わない Ascii モード FTP 転送
-
Default — ローカル InterSystems IRIS サーバのデフォルトの文字エンコード
-
Latin1 — ISO Latin1 8 ビット・エンコード
-
ISO-8859-1 — ISO Latin1 8 ビット・エンコード
-
UTF-8 — Unicode 8 ビット・エンコード
-
UCS2 — Unicode 16 ビット・エンコード
-
UCS2-BE — Unicode 16 ビット・エンコード (ビッグ・エンディアン)
-
InterSystems IRIS に NLS (各国言語サポート) をインストールするための、国際文字エンコード規格に基づくその他のエイリアス。
-
@TranslationTable、ここで、TranslationTable は、変換テーブルの名前です (この場合は、特定の変換テーブルが使用されます)。
文字セットおよび変換テーブルの詳細は、"変換テーブル" を参照してください。
Check Modified Before Delete
[サーバから削除] が有効で、かつ、[完了を確認] が [サイズ] の場合、このオプション・フラグは、ダウンロードと処理を行うためにファイルが最初にリストされてから変更されたかどうかを確認する際に影響を及ぼします。
サイズ・チェックでは、ファイルのダウンロード時に最新の変更日時を取得します。(ファイルの変更時刻の精度は分単位に制限されることに注意してください。)日時は、ファイルがダウンロードされてから FTP サーバ上で変更されたかどうか、つまり、ファイルを削除するかどうか、新しいコンテンツとして処理するかどうかを判断するために、ファイル・サイズと組み合わせて使用されます。大きなファイルを同時に処理する場合 ([アーカイブパス] が空の場合)、ダウンロードからファイルの削除を試行するまでの間にかなりの時間が経過することがあります。さらに、FTP サーバ上で削除操作を行うと、ネットワークの中断により遅れる可能性があります。この設定は以下のいずれかになります。
-
[なし] — ファイルが変更されたかどうかを確認しません。削除の試行のみです。
-
[延期されました] — 削除が延期された場合は、変更された値を確認します (既定)。
-
[はい] — 削除する前に、ファイルが変更されているかどうかを必ず確認します。
FTP サーバの表示に制限があり、ファイルの変更日が信頼できない場合は、コンテンツが再処理されないように、このオプションを有効にしないでください。
[深刻なエラー]
レコード・マップ・サービスにおいて、個々のレコードでの検証エラーなどのエラーが発生した場合に、システムによるメッセージの処理を停止するかどうかを指定します。アダプタを構成する際は、以下のいずれかのオプションを選択します。
-
Any — 既定値。InterSystems IRIS で個々のレコードの保存中にエラーが発生した場合、メッセージの処理を停止します。
-
ParseOnly — InterSystems IRIS で 1 つのレコードの保存中にエラーが発生した場合、エラーをログに記録し、そのレコードをスキップしてから、メッセージの解析を続行します。このログには、無効なレコードのストリーム内の位置が含まれます。また、[エラー時に警告] が有効になっている場合は、システムによってアラートが生成されます。
[ヘッダ・カウント]
レコード・マップ・サービスにおいて、受信ドキュメントで先頭行としてサービスが無視する行数を指定します。先頭行を無視することで、サービスは、列ヘッダが付いたレポートおよびコンマ区切り値 (CSV) ファイルを解析できるようになります。
[完了を確認]
可能な場合、各ファイルを完全に受信したことを確認します。この設定は、ダウンロードが開始したときにファイルがサーバ上で完全に使用可能になっていないようなケースに対処します。アダプタを構成する際は、以下のいずれかのオプションを選択します。
-
[なし] — ファイルのダウンロードの試行ごとに FTP ディレクトリのリスト要求を実行する必要がないため、小さいファイルのパフォーマンスが最大化されます。
-
[サイズ] — 既定値。[サイズ] は、サーバ・ディレクトリ・リスト内でレポートされるファイル・サイズが増加しない間は、このファイルのデータを読み続けることを意味します。テキスト・モードでは、行フィード文字の挿入または削除によって、ダウンロードに使用されるファイル位置が破損する可能性があるため、このオプションは [文字セット] が Binary のときにだけ信頼できます。
-
[名前変更] — サーバからファイルの名前を変更する許可があるまで、ファイルのデータ読み取りを試行し続けます。このオプションが機能するための条件は、FTP サーバがこのアダプタで構成されている認証情報を利用して、ダウンロード・ディレクトリに対する名前変更特権を InterSystems IRIS に付与すること、かつ FTP サーバがそのファイルの名前変更の特権を有するようにそのファイル自体のファイル権限が設定されていることです。これらの条件が満たされない場合は、名前変更の試行は常に失敗し、ダウンロードは決して完了しません。
-
[サイズと名前変更] — FTP サーバまたはソース・アプリケーションの動きが遅いときは、[サイズ] オプションだけでは十分ではありません。サーバが 2 秒おきに 2 回連続して同じファイル・サイズをレポートした場合、InterSystems IRIS はダウンロードが完了したと見なします。したがって、サーバが名前変更をサポートしている場合は [サイズと名前変更] 設定をお勧めします。
プログラムを通じて ConfirmComplete プロパティを操作している場合は、各オプションには 0 ([なし]) ~ 3 ([サイズと名前変更]) のいずれかの整数値が割り当てられます。デフォルトは [サイズ] (整数値 1) です。
[コマンド変換テーブル]
コマンド・チャンネル、特にファイル名やパス名で使用する変換テーブルを指定します。通常、FTP サーバで UTF8 をサポートしている場合、アダプタはファイル名/パス名にこれを使用し、サーバで UTF8 をサポートしていない場合、アダプタは RAW モードを使用して送信されたバイトを読み取るだけであるようなケースでは、これは指定しないでください。 サーバは RAW モードでファイル名リストを提供でき、UTF8 をサポートできます。この場合、[コマンド変換テーブル] を RAW に設定し、検出された UTF8 をオーバーライドする必要がある可能性があります。 リストに示された値は、内部テーブル名です。
[接続タイムアウト]
FTP サーバへの接続試行を待機する秒数です。デフォルトは 5 秒です。
Credentials
FTP サーバへの接続を承認できるプロダクション認証情報エントリを識別します。"認証情報の定義" を参照してください。
[サーバから削除]
真または偽。真の場合、処理が正常終了した後に FTP サーバからファイルを削除します。偽の場合、アダプタは他の何かによって FTP サーバからファイルが削除されるまで、処理済みのファイルを無視します。デフォルトは真です。
ビジネス・ホスト、プロダクション、またはインスタンスが再起動されると、以前に処理されたファイルが再度処理されます。
[外部レジストリ ID]
外部サービス・レジストリ・エントリの ID。外部レジストリを使用しない場合は空白のままにします。レジストリ・エンドポイントで FTPServer プロパティ、FTPPort プロパティ、FilePath プロパティ、および SSLConfig プロパティが設定されます。詳細は、"ESB のサービスおよびオペレーションの構成" を参照してください。
[ファイルアクセスタイムアウト]
システムがファイル受領の完了を確認する前に、ソース・アプリケーションからの情報を待機する時間 (秒単位)。詳細は、"[完了を確認]" を参照してください。
10 進数値を指定すると、最も近い整数に値が切り上げられます。既定値は 2 です。
File Path
FTP サーバ上でのファイルの検索先ディレクトリの完全パス名です。このディレクトリは実在する必要があり、指定された [認証情報] を使用してアクセスできる必要があります。SubdirectoryLevel が 0 より大きい場合、この設定を空白にすることはできず、検索が開始される最上位ディレクトリを指定する必要があります。
ファイルスペック
必須。FTP サーバの複数ファイル指定から取得するファイルについて、ファイル名またはワイルドカードのファイル指定を、区切り文字で区切って入力できます。[ファイル仕様のデリミタ] 設定で、使用される区切り文字を入力する必要があります。FileSpec を 1 行で入力します。この長さは、最大 2000 文字です。ワイルドカード仕様では、FTP サーバ・マシンのオペレーティング・システムに適した規則を適用します。
[ファイル仕様のデリミタ]
これが空白ではない場合、ファイル仕様設定を複数のファイル名/ワイルドカード検索に分割するための区切り文字として使用されます。
[FTPポート]
接続先の FTP サーバ上の TCP ポートを指定します。デフォルト値は 21 です。
[FTPサーバ]
接続先の FTP サーバを指定します。ここには IP アドレスか、ドメイン・ホスト・コントローラが名前を解決できるのであればサーバ名を指定できます。
[プロトコル]
FTP (ファイル転送プロトコル) と SFTP (SSH ファイル転送プロトコル) のどちらを使用するかを示します。プロトコルが FTP である場合は、[SSL構成] 設定を使用して FTP over TLS を構成できます。プロトコルが SFTP である場合は、以下のとおりです。
-
[UsePASV] 設定と [ServerListStyle] 設定は無視されます。
-
[FTPポート] 設定は通常、22 に設定する必要があります。
-
[認証情報] 設定の値を指定する必要があります。
-
[SFTPPublicKeyFile] 設定と [SFTPPrivateKeyFile] 設定の値を指定した場合、アダプタは鍵ペア認証を試行します。アダプタはこの認証を試行する際に、[認証情報] 設定で指定されたユーザ名とパスワードも使用し、[認証情報] のパスワードを秘密鍵のパスフレーズとして使用します。KeyFile の設定を使用しない場合、アダプタは、[認証情報] 設定に基づくユーザ名/パスワード認証のみを試行します。
この設定は、FTP と SFTP のどちらを使用するかを指定します。空白のままの場合は、[SSL構成] 設定が [!SFTP] に設定されていなければ、FTP が使用されます。これが設定されている場合は、[プロトコル] 設定に関係なく、SFTP が使用されます。
セマフォ仕様
セマフォ指定では、セマフォとして使用する関連付けられた 2 番目のファイルを同じディレクトリに作成することで、データ・ファイルの作成完了と読み取り準備の完了を示すことができるようになります。受信ファイル・アダプタは、セマフォ・ファイルが存在するまで待機した後、[完了を確認] の要件で指定されたその他の条件をチェックしてから、データ・ファイルを処理します。アダプタは、セマフォ・ファイルが存在することのみをテストし、セマフォ・ファイルの内容を読み取ることはありません。
[セマフォ指定] が空の文字列の場合、アダプタはセマフォ・ファイルを待機せずに、[完了を確認] の要件で指定された条件が成立すると即座にデータ・ファイルを処理します。
[セマフォ指定]機能を使用する場合は、[完了を確認] フィールドを [なし] に設定することを検討します。
構文
[セマフォ指定] は、空文字列か、データ・ファイル名パターンとセマフォ・ファイル名パターンを関連付ける一連のペアにすることができます。ペアはセミコロンで区切ります。
DataFileSpec=SemaphoreFileSpec;DataFileSpec=SemaphoreFileSpec;...
DataFileSpec は、プレーンなファイル名か、ワイルドカード * (任意の文字に一致) を含むファイル名パターンです。同様に、SemaphoreFileSpec はプレーンなファイル名か、ワイルドカード * を含むファイル名パターンです (ただしこの場合、ワイルドカード * はピリオド以外のすべての文字に一致します)。注 :
-
指定された 1 つまたは複数のデータ・ファイルに関連付けられたセマフォ・ファイルは、そのファイルと同じディレクトリになければなりません。
-
DataFileSpec と SemaphoreFileSpec にディレクトリ名は含まれません。
-
DataFileSpec では、常に大文字と小文字が区別されます。
-
SemaphoreFileSpec は、オペレーティング・システムで大文字と小文字が区別される場合は大文字と小文字を区別し、そうでない場合は区別しません。
-
ペアは左から右に処理され、最初に一致したペアが使用されます。"受信ファイル・アダプタでのセマフォ仕様の使用法" を参照してください。
したがって、同じファイルと一致する複数の仕様を含める場合は、より限定的な仕様を指定してから、より一般化された仕様を指定する必要があります。
-
FileSpec が * でアダプタが構成されている場合、そのアダプタは、通常はディレクトリ内にあるすべてのファイルをデータ・ファイルと見なします。ただし、[セマフォ指定] も指定される場合、アダプタは、ファイルをセマフォ・ファイルと認識し、そのファイルがデータ・ファイルとして扱われることはありません。
例えば、1 つのペアで構成される次のセマフォ指定について考えます。
ABC*.TXT=ABC*.SEM
この場合、ABCTest.SEM セマフォ・ファイルは、アダプタが ABCTest.TXT ファイルをいつ処理するかを制御し、ABCdata.SEM セマフォ・ファイルは、アダプタが ABCdata.txt ファイルをいつ処理するかを制御します。
最も単純な場合のセマフォ指定は、1 つの SemaphoreFileSpec のみで構成されます (ワイルドカードの有無は問いません)。つまり、セマフォ・ファイルの有無によって、アダプタがファイルを処理するかどうかが決まります。
パターンに一致しないファイル
[セマフォ指定] が指定され、指定のデータ・ファイルがいずれのパターンとも一致しない場合、アダプタはこのデータ・ファイルを処理しません。これが妥当でない場合は、どのファイルにも一致し、独自のセマフォ・ファイルを使用する最後のペアを指定します。例えば、次のセマフォ指定について考えます。
*.DAT=*.SEM; *.DOC=*.READY; *=SEM.LAST
SEM.LAST は、.DAT や .DOC で終了しないすべてのファイルのセマフォ・ファイルです。
受信ファイル・アダプタでのセマフォ指定の使用法
受信ファイル・アダプタは、各ポーリング・サイクル内で、構成されたディレクトリ (およびサブディレクトリ) で見つかったすべてのファイルを調べます。各ファイルに対して、以下を実行します。
-
アダプタはセマフォ指定を左から右に読み取り、DataFileSpec が指定されたファイル名に一致する最初の指定を見つけます。これは、検索対象のセマフォ・ファイルの名前を示します。
-
アダプタは、調べるファイルと同じディレクトリでセマフォ・ファイルを検索します。
次に、以下の手順を実行します。
-
セマフォ・ファイルが見つからない場合、アダプタはそのファイルをスキップし、次のポーリング・サイクルまで待機する内部フラグを設定します。
-
セマフォ・ファイルが見つかった場合、アダプタはそのファイルを処理します。
-
アダプタは、すべてのデータ・ファイルを特定のポーリング・サイクルで処理し終わると、対応する全セマフォ・ファイルを削除します。
SFTP 認証メソッド
サポートされている AuthenticationMethods は以下のとおりです。
-
Empty — 定義されていれば公開/秘密鍵を使用し、定義されていなければ認証情報にあるユーザ名とパスワードを使用します。
-
p — 認証情報にあるユーザ名とパスワードを使用します。
-
k — 公開/秘密鍵を使用します。
-
i — インタラクティブ (チャレンジ/レスポンス) を使用します。
複数のフラグを指定する場合は、必要な順序で結合します。例えば kp では、公開/秘密鍵認証が最初で、ユーザ名とパスワードがその後に続きます。
SFTP インタラクティブ DTL
指定されている場合、これはインタラクティブ認証 (キーボード・インタラクティブまたはチャレンジ/レスポンス認証とも呼ばれます) の処理に使用される DTL となります。これは、チャレンジ/レスポンス認証の回答の配列を作成する DTL にできます。詳細は "Ens.SSH.InteractiveAuth.DTLOpens in a new tab" を参照してください。認証情報のパスワードのみを返す場合は空白にします。
SFTP パスフレーズ認証情報
これを使用して、別の認証情報エントリを指定し、そのパスワードを鍵認証パスフレーズとして使用することができます。これが空白の場合、認証情報設定が使用されます。空白以外の場合、キー認証パスフレーズには、指定されたエントリのユーザ名とパスワードが使用されます。
この個別設定により、公開鍵とパスワードの両方の認証が可能になります。
"認証情報の定義" を参照してください。
SFTP 秘密鍵ファイル
SSH 秘密鍵を含むファイルへのファイル・パス。秘密鍵は PEM でエンコードする必要があります。AutheticateWithKeyPairOpens in a new tab と共に使用する場合は、秘密鍵と公開鍵の両方が必要です。 "OpenSSH と PEM でエンコードされたキー" を参照してください。
SFTP 公開鍵ファイル
SSH 公開鍵を含むファイルへのファイル・パス。公開鍵は OpenSSH 形式である必要があります。AutheticateWithKeyPairOpens in a new tab と共に使用する場合は、秘密鍵と公開鍵の両方が必要です。"OpenSSH と PEM でエンコードされたキー" を参照してください。
SFTP Server Character Set
リモート・システムでファイル名のエンコードに使用される文字セット。既定値は UTF8 です。このプロパティを "" (空の文字列) に設定すると、ファイル名の文字セット変換は不要であることが示されます。この設定は、該当する SSH セッションを表す %Net.SSH.SessionOpens in a new tab オブジェクトの RemoteCharset プロパティを制御します。
SFTP Local Character Set
ローカル・システムでファイル名のエンコードに使用される文字セット。Windows システムの場合、既定値は "" (空の文字列) です。UNIX システムの場合、既定値は UTF8 です。このプロパティを "" (空の文字列) に設定すると、ファイル名の文字セット変換は不要であることが示されます。この設定は、該当する SSH セッションを表す %Net.SSH.SessionOpens in a new tab オブジェクトの LocalCharset プロパティを制御します。
STFP キー交換アルゴリズム
優先する SSH 鍵交換 (KEX) アルゴリズムを指定します。利用可能なオプションは、ホストのオペレーティング・システムによって異なります。
[サーバリストスタイル]
FTP サーバ上のオペレーティング・システムを指定します。これにより、FTP サーバが返すリスト形式のタイプが決定します。以下のいずれかを選択します。
-
UNIX (デフォルト)
-
MSDOS
[SSL構成]
この接続の認証に使用する既存の TLS 構成の名前。アダプタから通信が開始されるため、クライアント TLS 構成を選択します。
TLS 構成を作成して管理するには、管理ポータルを使用します。インターシステムズの "TLS ガイド" を参照してください。[SSL/TLS構成を編集] ページの最初のフィールドは [構成名] です。この文字列は [SSL構成] 設定の値として使用します。
[プロトコル] 設定を使用して、SFTP を使用できます。
SSL チェック・サーバ ID
TLS を使用して FTP サーバに接続する場合、証明書のサーバ名が、サーバへの接続に使用される DNS 名と一致している必要があります。この一致は、RFC 2818 のセクション 3.1 に規定されているルールに基づきます。
SSL セッション再開を使用
この設定が有効な場合、データ・チャンネルの SSL 接続を作成するときに、アダプタは、セッション・パラメータをコマンド・チャンネルから再利用します。このオプションには OpenSSL v1.1.x 以降が必要です。
接続を維持
値がゼロの場合は、各入力イベントの後、直ちに切断します。値がデフォルトの –1 の場合、アイドル・タイムでも永久的に接続されたままとなります。アダプタは起動時にはアイドルと見なされるため、StayConnected の値が –1 に設定されている場合にのみ自動接続されます。通常のケースで有効な StayConnected の値は 0 と –1 のみです。ただし、StayConnected は正の数値を取ることもできます。StayConnected の時間が CallInterval よりも長い場合、アダプタは常に接続された状態のままとなります。StayConnectedの時間が CallInterval よりも短い場合、アダプタは、CallInterval ごとに切断と再接続を行います。
[サブディレクトリレベル]
ファイルを検索するディレクトリ下のサブディレクトリの階層数。値が 0 より大きい場合、[FilePath] 設定で、検索が開始される最上位ディレクトリを指定する必要があります。
[ファイルストリームを使用]
アダプタで受信したデータのファイル・ストリームを使用するかどうかを指定します。これが偽の場合は、アダプタでグローバル・ストリームが使用されます。この設定に関係なく、[アーカイブパス] または [アーカイブIO] が設定されている場合は、ファイル・ストリームが使用されます。
[UsePASV]
パッシブ FTP モードを使用します。このモードでは、サーバがデータ・ポート・アドレスを返し、クライアントがそれに接続します。制御 TCP 接続とデータ TCP 接続の両方がクライアントから開始されるため、ほとんどのファイアウォールでパッシブ・モード FTP を受け入れやすくなります。