Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

FTP 受信アダプタに関する設定

FTP 受信アダプタ EnsLib.FTP.InboundAdapterOpens in a new tab の設定に関する参照情報を提供します。

概要

受信 FTP アダプタには以下の設定があります。

グループ 設定
基本設定 [サーバリストスタイル][サーバから削除][ファイルパス][ファイルスペック][アーカイブパス][呼び出し間隔][FTPサーバ][FTPポート][認証情報]
接続設定 [SSL構成][UsePASV][接続を維持][接続タイムアウト][SFTPPublicKeyFile][SFTPPrivateKeyFile]
追加設定 [ファイルストリーム使用][サブディレクトリレベル][文字セット][タイムスタンプ追加][セマフォ仕様][完了を確認][ファイルアクセスタイムアウト]

残りの設定はすべてのビジネス・サービスに共通しています。詳細は、"Ensemble プロダクションの構成" の “すべてのビジネス・サービスに含まれる設定” を参照してください。

[タイムスタンプ追加]

[アーカイブパス][ワークパス] のディレクトリ内のファイル名にタイム・スタンプを付加します。これにより、同じファイル名の繰り返し処理で発生する可能性のある名前の競合を避けることができます。

  • この値が空か 0 の場合は、タイム・スタンプが付加されません。

  • この設定が 1 の場合は、標準テンプレート '%f_%Q' が付加されます。

  • その他の可能性のある値は、"Ensemble プロダクションの構成" の “ファイル名に関するタイム・スタンプ指定” を参照してください。

[アーカイブパス]

FTP サーバから受信した各ファイルのコピーを保存するための Ensemble サーバ上のディレクトリの完全パス名です。このディレクトリは存在するディレクトリであること、また、ローカル Ensemble マシンのファイル・システムからアクセス可能なディレクトリであることが必要です。

指定しない場合、Ensemble は一時保管場所にファイルのローカル・コピーを保管し、処理の完了後に削除します。

呼び出し間隔

アダプタの秒単位のポーリング間隔。これは、アダプタが指定された場所で入力ファイルをチェックする時間間隔です。

ポーリング時にアダプタがファイルを検出すると、アダプタはファイルをストリーム・オブジェクトにリンクし、ストリーム・オブジェクトを関連ビジネス・サービスに渡します。一度に複数のファイルを検出すると、アダプタはファイルが検出されなくなるまで、個々のファイルのビジネス・サービスに対して 1 つの要求を送信します。

ビジネス・サービスが各ファイルを同期で処理した場合、ファイルは順次処理されます。ビジネス・サービスが各ファイルをビジネス・プロセスまたはビジネス・オペレーションに非同期で送信した場合、ファイルは同時処理される場合があります。

有効なファイルをすべて処理し終わると、アダプタはポーリング間隔が経過してから、再度ファイルをチェックします。プロダクションが実行中であり、ビジネス・サービスが有効化され、アクティブになるようにスケジュールされている場合、このサイクルは常に継続されます。

入力間の [呼び出し間隔] 期間だけアダプタが遅延するように、ビジネス・サービス内にコールバックを実装できます。詳細は、"Ensemble プロダクションの開発" の “ビジネス・サービスの定義” の章を参照してください。

CallInterval のデフォルト値は 5 秒です。最小値は 0.1 秒です。

Charset

入力ファイルの文字セットを指定します。Ensemble は、自動的に、文字をこの文字エンコーディングから変換します。この設定値は大文字と小文字が区別されません。Binary は、バイナリ・ファイル、新規行文字と改行文字が異なるデータ、または、HL7 バージョン 2 や EDI メッセージのように変更しないまま残す必要のあるデータに対して使用します。テキスト・ドキュメントを転送するときは、他の設定が便利な場合があります。選択肢は以下のとおりです。

  • Binary — バイナリ転送 (FTP アダプタのデフォルト)

  • Ascii — 文字エンコーディング変換を伴わない Ascii モード FTP 転送

  • Default — ローカル Ensemble サーバのデフォルトの文字エンコード

  • Latin1 — ISO Latin1 8 ビット・エンコード

  • ISO-8859-1 — ISO Latin1 8 ビット・エンコード

  • UTF-8 — Unicode 8 ビット・エンコード

  • UCS2 — Unicode 16 ビット・エンコード

  • UCS2-BE — Unicode 16 ビット・エンコード (ビッグ・エンディアン)

  • Ensemble に NLS (各国言語サポート) をインストールするための、国際文字エンコード規格に基づくその他のエイリアス

  • @TranslationTable、ここで、TranslationTable は、Ensemble 変換テーブルの名前です (この場合は、特定の変換テーブルが使用されます)。

Caché 内の文字変換に関する背景情報は、"Caché プログラミング入門ガイド" の “ローカリゼーション・サポート” を参照してください。

セマフォ仕様

セマフォ仕様では、セマフォとして使用する 2 番目のファイルを作成することで、データ・ファイルの作成完了と読み取り準備の完了を示すことができるようになります。受信 FTP アダプタは、セマフォ・ファイルが存在するまで待機した後、[完了を確認] の要件で指定されたその他の条件をチェックしてから、データ・ファイルを処理します。これにより、データ・ファイルを作成するアプリケーションでは、データ・ファイルの完了までアダプタがそのファイルの処理をしないように待機させることができます。アダプタは、セマフォ・ファイルが存在することのみをテストし、セマフォ・ファイルの内容を読み取ることはありません。

セマフォ仕様が空の文字列の場合、アダプタはセマフォ・ファイルを待機せずに、[完了を確認] の要件で指定された条件が成立すると即座にデータ・ファイルを処理します。セマフォ・ファイルを使用して、アダプタがデータ・ファイルをいつ処理するかを制御する場合は、[完了を確認] フィールドを [なし] に設定することを検討してください。

セマフォ仕様では、データ・ファイルごとに個別のセマフォ・ファイルを指定できます。また、1 つのセマフォ・ファイルで複数のデータ・ファイルを制御することもできます。セマフォ・ファイルとデータ・ファイルのペアにワイルドカードを使用することができます。さらに一連のパターン・マッチング・セマフォ・ファイルをデータ・ファイルに指定することができます。アダプタは、常にデータ・ファイルと同じディレクトリで一致するセマフォ・ファイルを検索します。アダプタがサブディレクトリのデータ・ファイルを検索する場合、セマフォ・ファイルは対応するデータ・ファイルと同じサブディレクトリのレベルに存在する必要があります。

セマフォ仕様を使用する標準的な形式は次のとおりです。

[DataFileSpec=] SemaphoreFileSpec [;[DataFileSpec=] SemaphoreFileSpec]...

例えば、次のセマフォ仕様があるとします。

ABC*.TXT=ABC*.SEM

ABCTest.SEM セマフォ・ファイルは、アダプタが ABCTest.TXT ファイルをいつ処理するかを制御し、ABCdata.SEM セマフォ・ファイルは、アダプタが ABCdata.txt ファイルをいつ処理するかを制御することを意味します。

Note:

セマフォ仕様では、* (アスタリスク) はドット以外のすべての文字に対応します。ファイル仕様では、アスタリスクはドットを含むすべての文字に対応します。

1 つのセマフォ・ファイルで複数のデータ・ファイルを制御できます。例えば、次のセマフォ仕様があるとします。

*.DAT=DATA.SEM

DATA.SEM セマフォ・ファイルは、同じディレクトリ内のすべての *.DAT ファイルについてアダプタがいつ処理するかを制御します。アダプタがデータ・ファイルと対応するセマフォ・ファイルを検索するとき、ポーリングの間隔ですべてのデータ・ファイルをループします。上のセマフォ仕様の場合、ABC.DAT ファイルの DATA.SEM から検索を開始し、検出できない場合は、別のファイルのセマフォ・ファイルの検索を続けます。このプロセスで XYZ.DAT の一致を検索していたときに DATA.SEM が作成された場合には、この対応するセマフォ・ファイルが検出されます。ただし、アダプタは XYZ.DAT の処理を次のポーリングまで延期します。これは前のデータ・ファイル ABC.DAT が同じセマフォ・ファイルを待機していたためです。

複数のペアを指定する場合は、それらを ; (セミコロン) で区切ります。例えば、次のセマフォ仕様があるとします。

*.TXT=*.SEM;*.DAT=*.READY

セマフォ・ファイル MyData.SEM は、アダプタが MyData.TXT をいつ処理するかを制御しますが、セマフォ・ファイル MyData.READY は、アダプタが MyFile.DAT をいつ処理するかを制御します。

アダプタは、セマフォ仕様を左から右に読み取って、各データ・ファイルに対応するセマフォ・ファイルを検出します。対応するセマフォ・ファイルを特定すると、そのファイルのセマフォ仕様の読み取りを停止します。例えば、次のセマフォ仕様があるとします。

VIData.DAT=Special.SEM; *.DAT=*.SEM

アダプタは、VIData.DAT を処理する前にセマフォ・ファイル Special.SEM を検索しますが、VIData.SEMVIData.DAT のセマフォ・ファイルと見なされません。stuff.SEM は、stuff.DAT のセマフォ・ファイルと見なされます。これは stuff.DAT が以前の仕様と一致しなかったためです。したがって、同じファイルと一致する複数の仕様を含める場合は、より限定的な仕様を指定してから、より一般化された仕様を指定する必要があります。

データ・ファイルのターゲット・パターンは大小文字が区別され、セマフォ・パターンの大小文字の区別はオペレーティング・システムに依存します。つまり、*.TXT=*.SEM は、大文字の .TXT で終わるターゲット・ファイルのみに適用されますが、オペレーティング・システムは *.SEM*.sem を区別できない場合があります。オペレーティング・システムで大小文字が区別されない場合、アダプタは、大小文字の任意の組み合わせで終わる *.SEM*.sem のセマフォ・ファイルを同等に処理しますが、それらは名前が *.TXT のデータ・ファイルのみに対してセマフォとして使用されます。セマフォ・ファイルでは大小文字を区別できませんが、データ・ファイルでは区別が可能です。

1 つのファイル仕様のみを指定し、= (等号) 記号を省略すると、アダプタがこれを全データ・ファイルのセマフォ仕様として扱います。例えば、次のセマフォ仕様があるとします。

*.SEM

これは、1 つのワイルドカードを = (等号) 記号の左側に指定した場合と等価です。

*=*.SEM

この場合、セマフォ・ファイル MyFile.SEM はデータ・ファイル MyFile.txt を制御し、セマフォ・ファイル BigData.SEM はデータ・ファイル BigData.DAT を制御します。

セマフォ仕様でワイルドカードが使用されていない場合、その仕様はセマフォ・ファイルの完全な fileSpec です。例えば、次のセマフォ仕様があるとします。

*.DAT=DataDone.SEM

この場合、DataDone.SEM セマフォ・ファイルは、アダプタが .DAT ファイル拡張子を持つデータ・ファイルをいつ読み取るかを制御します。

セマフォ仕様が指定され、データ・ファイルがいずれのパターンとも一致しない場合、対応するセマフォ・ファイルは存在せず、アダプタはこのデータ・ファイルを処理しません。この状況は、セマフォ仕様で最後のデータ・ファイルとして * を指定することで回避できます。例えば、次のセマフォ仕様があるとします。

*.DAT=*.SEM; *.DOC=*.READY; *=SEM.LAST

SEM.LAST は、.DAT.DOC で終了しないすべてのファイルのセマフォ・ファイルです。

FileSpec が * でアダプタが構成されている場合、そのアダプタは、通常はディレクトリ内にあるすべてのファイルをデータ・ファイルと見なします。ただし、アダプタにセマフォ仕様も存在し、特定のファイルをセマフォ・ファイルとして認識する場合、そのファイルがデータ・ファイルとして扱われることはありません。

アダプタは、すべてのデータ・ファイルを特定のポーリング・サイクルで処理し終わると、対応する全セマフォ・ファイルを削除します。

[完了を確認]

可能な場合、各ファイルを完全に受信したことを確認します。この設定は、ダウンロードが開始したときにファイルがサーバ上で完全に使用可能になっていないようなケースに対処します。アダプタを構成する際は、以下のいずれかのオプションを選択します。

  • [なし] — ファイルのダウンロードの試行ごとに FTP ディレクトリのリスト要求を実行する必要がないため、小さいファイルのパフォーマンスが最大化されます。

  • [サイズ] — これがデフォルトです。[サイズ] は、サーバ・ディレクトリ・リスト内でレポートされるファイル・サイズが増加しない間は、このファイルのデータを読み続けることを意味します。テキスト・モードでは、行フィード文字の挿入または削除によって、ダウンロードに使用されるファイル位置が破損する可能性があるため、このオプションは [文字セット]Binary のときにだけ信頼できます。

  • [名前変更] — サーバからファイルの名前を変更する許可があるまで、ファイルのデータ読み取りを試行し続けます。このオプションが機能するための条件は、FTP サーバがこのアダプタで構成されている資格情報を利用して、ダウンロード・ディレクトリに対する名前変更特権を Ensemble に付与すること、かつ FTP サーバがそのファイルの名前変更の特権を有するようにそのファイル自体のファイル権限が設定されていることです。これらの条件が満たされない場合は、名前変更の試行は常に失敗し、Ensemble のダウンロードは決して完了しません。

  • [サイズと名前変更] — FTP サーバまたはソース・アプリケーションの動きが遅いときは、[サイズ] オプションだけでは十分ではありません。サーバが 2 秒おきに 2 回連続して同じファイル・サイズをレポートした場合、Ensemble はダウンロードが完了したと見なします。したがって、サーバが名前変更をサポートしている場合は [サイズと名前変更] 設定をお勧めします。

プログラムを通じて ConfirmComplete プロパティを操作している場合は、各オプションには 0 ([なし]) ~ 3 ([サイズと名前変更]) のいずれかの整数値が割り当てられます。デフォルトは [サイズ] (整数値 1) です。

[接続タイムアウト]

FTP サーバへの接続試行を待機する秒数です。デフォルトは 5 秒です。

Credentials

FTP サーバへの接続を承認できる Ensemble 資格情報エントリを識別します。Ensemble 認証情報の作成方法は、"Ensemble プロダクションの構成" を参照してください。

[サーバから削除]

真または偽。真の場合、処理が正常終了した後に FTP サーバからファイルを削除します。偽の場合、アダプタは他の何かによって FTP サーバからファイルが削除されるまで、処理済みのファイルを無視します。デフォルトは真です。

[ファイルアクセスタイムアウト]

デフォルトは 10 秒です。

File Path

FTP サーバ上でのファイルの検索先ディレクトリの完全パス名です。このディレクトリは実在する必要があり、指定された [認証情報] を使用してアクセスできる必要があります。

ファイルスペック

FTP サーバから取得するファイルのファイル名またはワイルドカードのファイル仕様です。ワイルドカード仕様では、FTP サーバ・マシンのオペレーティング・システムに適した規則を適用します。

[FTPポート]

接続先の FTP サーバ上の TCP ポートを指定します。デフォルト値は 21 です。

[FTPサーバ]

接続先の FTP サーバを指定します。ここには IP アドレスか、ドメイン・ホスト・コントローラが名前を解決できるのであればサーバ名を指定できます。

[サーバリストスタイル]

FTP サーバ上のオペレーティング・システムを指定します。これにより、FTP サーバが返すリスト形式のタイプが決定します。以下のいずれかを選択します。

  • UNIX (デフォルト)

  • MSDOS

SFTPPrivateKeyFile

SSH 秘密鍵証明書を含むファイルへのファイル・パス

SFTPPublicKeyFile

SSH 公開鍵証明書を含むファイルへのファイル・パス

[SSL構成]

この接続の認証に使用される既存の SSL/TLS 構成の名前。アダプタから通信が開始されるため、クライアント SSL/TLS 構成を選択します。

SSL/TLS 構成を作成して管理するには、管理ポータルを使用します。"Caché セキュリティ管理ガイド" の “Caché での SSL/TLS の使用法” の章を参照してください。[SSL/TLS 構成の編集] フォームの最初のフィールドは [構成名] です。この文字列は [SSL構成] 設定の値として使用します。

この設定を使用して、SFTP モードが使用中であることを示すこともできます。これを実現するには、設定値として !SFTP を指定します。詳細は、"Intersystems クラス・リファレンス" の EnsLib.FTP.InboundAdapterOpens in a new tab のエントリにある [SSLConfig]Opens in a new tab プロパティの説明を参照してください。

SFTP が使用中であることを明示したら、[SFTPPublicKeyFile] 設定と [SFTPPrivateKeyFile] 設定を構成できます。[SFTP 公開鍵ファイル][SFTP 秘密鍵ファイル] の両方の値を指定した場合は、アダプタは鍵ペア認証を試行します。アダプタはこの認証を試行する際に、[認証情報] 設定で指定されたユーザ名とパスワードも使用し、認証情報のパスワードを秘密鍵のパスフレーズとして使用します。

接続を維持

値がゼロの場合は、各入力イベントの後、直ちに切断します。値がデフォルトの –1 の場合、アイドル・タイムでも永久的に接続されたままとなります。アダプタは起動時にはアイドルと見なされるため、StayConnected の値が –1 に設定されている場合にのみ自動接続されます。通常のケースで有効な StayConnected の値は 0 と –1 のみです。ただし、StayConnected は正の数値を取ることもできます。StayConnected の時間が CallInterval よりも長い場合、アダプタは常に接続された状態のままとなります。StayConnectedの時間が CallInterval よりも短い場合、アダプタは、CallInterval ごとに切断と再接続を行います。

[サブディレクトリレベル]

ファイルを検索するディレクトリ下のサブディレクトリの階層数。

[ファイルストリームを使用]

アダプタで受信したデータのファイル・ストリームを使用するかどうかを指定します。これが偽の場合は、アダプタでグローバル・ストリームが使用されます。この設定に関係なく、[アーカイブパス] または [アーカイブIO] が設定されている場合は、ファイル・ストリームが使用されます。

[UsePASV]

パッシブ FTP モードを使用します。このモードでは、サーバがデータ・ポート・アドレスを返し、クライアントがそれに接続します。制御 TCP 接続とデータ TCP 接続の両方がクライアントから開始されるため、ほとんどのファイアウォールでパッシブ・モード FTP を受け入れやすくなります。

FeedbackOpens in a new tab