WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

ファイル名パターン

FileInputCDInputおよび FTEInput ノードで読み取られるファイルを指定するために、いくつかのワイルドカード文字を使用してファイル名パターンを指定できます。 さらに、FileOutput ノードと FTEOutput ノードで作成されるファイルを指定するために、1 つのワイルドカード文字を使用してファイル名パターンを指定することも可能です。

FileInputCDInput および FTEInput ノードでのファイル名パターンの使用

入力ノードは、指定のディレクトリーからファイルを読み取ってから、それらのファイルの内容に基づいてメッセージを伝搬します。 FileInput ノードの「ファイル名またはパターン」プロパティーまたは FTEInput ノードの 「ファイル名フィルター」プロパティーで指定されているパターン (入力パターン) に一致する名前のファイルだけが読み取られます。

ファイル名パターンを使用して FileInput ノードからファイルを除外する場合、FileInput ノードの「ファイル除外パターン」に指定されている除外パターンに一致する名前のファイルは、読み込まれることも処理されることもありません。

一致は、ファイル名との一致または文字シーケンス (パターン) との一致の場合があります。 パターンとは、以下のワイルドカード文字のうちの少なくとも 1 つを使用しているシーケンスのことです。
ワイルドカード文字 説明
* ゼロ個以上の文字の任意のシーケンス *.xml は拡張子が xml のすべてのファイル名に一致します。
? 任意の 1 文字 f??????.csv は、文字 f と、その後に続く 6 文字とその後のシーケンス .csv から成るすべてのファイル名に一致します。
デフォルト・パターンは、すべてのファイル名に一致する * です。

アスタリスク ('*')、疑問符 ('?')、またはファイル名分離文字 ('/' および '¥') の文字を使用しているファイル名を指定することはできません。

以下に例を示します。
  • FileInput ノードで特定の拡張子 (例えば xml) が付いたファイルをすべて処理する場合は、「ファイル名またはパターン」プロパティーを *.xml に設定します。 そうすれば、そのノードは、対象のディレクトリー (および、選択されている場合は、そのサブディレクトリー) でその拡張子が付いたファイルをすべて処理します。
  • FileInput ノードで特定の拡張子 (例えば .csv) が付いたファイルをすべて処理から除外する場合は、「ファイル除外パターン」プロパティーを *.csv に設定します。そうすれば、そのノードは、ディレクトリー (および、選択されている場合は、そのサブディレクトリー) 内でその拡張子が付いたファイルを処理しません。

フローを Windows サーバーにデプロイすると、大文字小文字の違いに関係なく、ファイル名はパターンに一致します。 しかし、フローを LinuxUNIX、または z/OS® サーバーにデプロイする場合、ファイル名は、パターン文字ストリングおよび大文字小文字の違いに一致しなければなりません。

パターン・マッチング

FileInputCDInput および FTEInput ノードは、LocalEnvironment.Wildcard.WildcardMatch エレメントを、ファイル名のワイルドカードに一致するストリングに設定します。 LocalEnvironment.Wildcard.WildcardMatch エレメントは、ファイル除外パターンの影響を受けません。 このエレメントの値に基づくパターン・マッチングの例をいくつか取り上げます。 ここでは、FileInput ノードの「ファイル名またはパターン」プロパティーの値を File????.from*.xml とします。
  • FileInput ノードが、ファイル名 File1234.fromHQ.xml の付いたファイルを検出した場合、一致があったということです。 LocalEnvironment.Wildcard.WildcardMatch エレメント内の値は、1234.fromHQ に設定されて、ノードはこのファイルを処理します。
  • ファイル名が File123.fromHQ.xml である場合、このファイル名中の File.from エレメントにはさまれた文字数が不足しているので、一致はありません。 FileInput ノードは、このファイルを無視します。
  • ファイル名が File2345.from.xml である場合、一致があります。 LocalEnvironment.Wildcard.WildcardMatch エレメント内の値は、2345.from に設定されて、ノードはこのファイルを処理します。 この例では、「ファイル名またはパターン」プロパティー内の文字ストリングにおける * は、ゼロ個の文字のストリングに一致します。 ファイル名中の from.xml エレメントにはさまれた文字ストリングが、少なくとも 1 つの文字を必ず持つように指定する場合、「ファイル名またはパターン」プロパティーに File????.from?*.xml という値を指定します。

FileOutputCDOutput および FTEOutput ノードでのファイル名パターンの使用

ノードは、ブローカーのファイル・システム内で作成したかまたは置き換えたファイルにメッセージを書き込みます。 このプロパティーでは、1 つのワイルドカード文字 (アスタリスク '*') を使ったパターンのみを指定できます。 使用するファイル名は、次のようにして判別されます。
  • ファイル名プロパティーにワイルドカードを組み込んでいない場合は、そのプロパティーの値が、作成されるファイルの名前になります。 その値は、メッセージ・フローのデプロイ先になるブローカーをホストするファイル・システム上で有効なファイル名でなければなりません。
  • ファイル名プロパティーに 1 つのワイルドカードを組み込んだ場合は、そのワイルドカード文字が現在のメッセージの LocalEnvironment.Wildcard.WildcardMatch エレメントの値に置き換えられ、その置き換え後の値が、作成されるファイルの名前になります。 その値は、メッセージ・フローのデプロイ先になるブローカーをホストするファイル・システム上で有効なファイル名でなければなりません。 WildcardMatch 値が見つからない場合、ワイルドカード文字は空ストリングに置き換えられます。
アスタリスク ('*')、疑問符 ('?')、ファイル名分離文字 ('/' および '¥') の文字を使用しているファイル名を指定することはできません。 このファイルの名前は、現在のメッセージ内の値で指定変更することができます。

FileOutput ノードの「ファイル名またはパターン」プロパティーを空にした場合は、現在のメッセージでその名前を指定変更する必要があります。 ワイルドカードの置換が起きるのは、このようなやり方でこのプロパティーが指定変更されない場合のみです。

ファイル名は、ブローカーがアクセスできるファイル・システムに渡されます。またファイル名は、そのファイル・システムの規則に準拠していなければなりません。 例えば、Windows システムでは、ファイル名の大/小文字は区別されませんが、UNIX システムでは、大文字小文字の異なるファイル名は異なる名前とみなされます。

例: FileInput ノードの「ファイル名またはパターン」プロパティーが *.out、着信ファイルが myfile であれば、発信ファイルの名前は myfile.out になります。

FTP および SFTP に関する考慮事項

FileInput ノードを使用して、リモート FTP または SFTP サーバーからファイルを転送して処理することができます。 ノードに指定されているファイル名パターンに一致した名前の付いたファイルのみが読み取られます。 また、ファイル除外パターンを使用して、リモート FTP サーバーまたはリモート SFTP サーバーでファイルが読み取られるのを防ぐこともできます。 ブローカーが、 (UNIX などの) 大/小文字の区別を実施するオペレーティング・システム上にある場合、大文字と小文字の組み合わせを使用したパターンを指定することができます。 そのようなパターンを使用して、リモート FTP サーバーまたはリモート SFTP サーバー上のディレクトリーにあるファイルを処理する場合に、そのサーバーが大/小文字を区別しないオペレーティング・システム (Windows など) 上で稼働していれば、ファイル名のマッチングは失敗し、ファイルはまったく処理されない可能性があります。 失敗するのは、リモート・サーバー上のファイル名は、大/小文字を混合した名前ではないからです。 大/小文字の区別を実施していないオペレーティング・システム上にブローカーがある場合、指定したパターンはいずれも、大/小文字の区別が遵守されるオペレーティング・システム上で稼働するリモート FTP サーバーまたはリモート SFTP サーバー上の複数のファイルに一致する可能性があります。 それらの各ファイルはその後、1 つずつ順番に処理されます。

FileOutput ノードを使用して、リモート FTP または SFTP サーバーにファイルを書き込むことができます。 ノードに指定されているパターンに一致した名前の付いたファイルのみが書き込まれます。 ブローカーが、 (UNIX などの) 大/小文字の区別を実施するオペレーティング・システム上で実行している場合、大文字と小文字の組み合わせを使用したパターンを指定することができます。 ただし、このパターンを使用して、大/小文字を区別しないオペレーティング・システム (Windows など) 上で稼働するリモート FTP サーバーまたはリモート SFTP サーバー上のディレクトリーにファイルを書き込む場合、ファイル名は、パターンで指定した方法ではなく、大文字で書き込まれます。

リモート FTP サーバー上のファイルの名前中で、ファイル名パターンを指定した場所であるブローカーが稼働しているオペレーティング・システムでは無効である文字が 1 つ以上使用されていると、そのファイルは、処理のために FileInput ノードによって FTP サーバーから転送されません。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:59


概念トピック概念トピック | バージョン 8.0.0.5 | ac55200_