FileInput ノードを使用して、ファイルから読み取ったメッセージを処理します。
1 つのファイルから 1 つ以上のメッセージを読み込むことが可能で、各メッセージは別々のフロー・トランザクションとして伝搬されます。1 つのメッセージ・フロー・トランザクションを生成するファイルの部分をレコードと呼びます。 ファイルは、1 つのレコードまたは一連のレコードにすることができます。ノードのプロパティーは、1 つのファイルで FileInput ノードがレコードを判別する方法を指定します。
FileInput ノードはパレットの「ファイル」ドロワーに入っていて、WebSphere® Message Broker Toolkit内では次のアイコンによって表されます。
FileInput ノードがメッセージを伝搬するとき、情報は LocalEnvironment.File メッセージ・ツリーに格納されます。 入力ファイルが空の場合は、空のメッセージが伝搬します (ただし、有効であることが条件です)。 以下の表では、LocalEnvironment.File message ツリー構造をリストします。 エレメントには、現行レコードに関するデータが入っています。
エレメント名 | エレメント・データ・タイプ | 説明 |
---|---|---|
Directory | CHARACTER | ブローカーのファイル・システムで使用される形式の、入力ディレクトリーの絶対ディレクトリー・パス。 例えば、Windows システムでは、これはドライブ名接頭部 (C: など) で始まります。 |
Name | CHARACTER | ファイル名と拡張子。 |
LastModified | TIMESTAMP | ファイルの最終変更日時。 |
TimeStamp | CHARACTER | 入力ノードでファイルの処理が開始された協定世界時 (UTC) ゾーンの日時。データ・タイプは文字ストリングです。 タイム・スタンプが組み込まれる場合、このデータは、アーカイブ・ファイル名およびバックアウト・ファイル名を作成するときに使用されるストリングになります。 |
以下のエレメントには、現行レコードに関するデータが入っています。 | ||
Offset | INTEGER | ファイル内でのレコードの開始。 最初のレコードはオフセット 0 から開始します。Offset が End of Data メッセージ・ツリーの一部である場合、この値は入力ファイルの長さになります。 |
Record | INTEGER | ファイル内のレコードの番号。 最初のレコードはレコード番号 1 になります。Record が End of Data メッセージ・ツリーの一部である場合、この値は、レコード数になります。 |
Delimiter | CHARACTER | 「区切り」が「レコード検出」に指定されている場合に、特定のレコードとその前のレコードを切り離すために使用される文字。 最初のレコードはヌルの区切り文字を持っています。 Delimiter が End of Data メッセージ・ツリーの一部である場合、この値は最後のレコード (ある場合) の後に続く区切り文字になります。 |
IsEmpty | BOOLEAN | メッセージ・フローから伝搬されるレコードが空かどうか。 現行レコードが空の場合、IsEmpty を TRUE に設定します。 IsEmpty が End of Data メッセージ・ツリーの一部である場合、このプロパティーは常に TRUE に設定します。 |
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。
Username: FtpTargetHostUsername@ProxyUserName@TargetFtpHostname
Password: TargetFtpUserPassword@ProxyUserPassword
別のエンコードが必要なプロキシーもあれば、外部構成が必要なプロキシー、またはファイル・ノードでは使用できないプロキシーもあります。FileInput ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。FileInput ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。 値を入力する必要のある (デフォルト値が定義されていないプロパティー) すべての必須プロパティーには、アスタリスクが表示されます。
FileInput ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
Failure | Out ターミナルにメッセージが伝搬される前にエラーが起きた場合、メッセージのルーティング先となる出力ターミナル。 「妥当性検査」プロパティーを使って妥当性検査が行われるように指定していた場合でも、このターミナルに伝搬されたメッセージは妥当性検査されません。 |
Out | 入力ファイルからメッセージが正常に抽出された場合に、メッセージがルーティングされる先の出力ターミナル。 入力ノード内でエラーが起こらなかった場合、外部リソースから受信されるメッセージは常にこの Out ターミナルにまず送信されます。 |
End of Data | ファイル内のすべてのメッセージの処理完了後の、End of Data メッセージのルーティング先の出力ターミナル。 End of Data メッセージ・フロー・トランザクションが開始されるのは、このターミナルが接続されている場合のみです。 |
Catch | 例外がダウンストリームでスローされ、ノードによってキャッチされた場合に、メッセージがルーティングされる出力ターミナル。 例外がキャッチされるのは、このターミナルが接続されている場合のみです。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。
「説明」 プロパティー:
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | FileInput | ノードの名前。 |
簡略説明 | いいえ | いいえ | なし | ノードの簡単な説明 |
詳細説明 | いいえ | いいえ | なし | メッセージ・フロー内のノードの目的を説明するテキスト |
「基本」 プロパティー:
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
入力ディレクトリー | はい | はい | なし | 処理される入力ファイルが入っているディレクトリーのパス。 ブローカーからアクセスできるファイル・システムのディレクトリーでなければなりません。 入力ディレクトリーが存在しない場合、全くファイルは処理されません。 FileInput ノードは、「スキャン遅延」プロパティーで定義されている間隔で、入力ディレクトリーが存在することを検査します。 ファイルを FTP または SFTP で処理している場合であっても、入力ディレクトリーが存在しなければなりません。 絶対または相対のどちらかのディレクトリー・パスとして、ディレクトリーを指定します。 ディレクトリー・パスを相対パスにすると、それは、環境変数 MQSI_FILENODES_ROOT_DIRECTORY に指定されているディレクトリーをベースとします。 Windows システムでの例は C:¥fileinput です。 UNIX システムでの例は /var/fileinput です。Windows では、ローカル・コンピューターにマップされる共有ディレクトリーを指定する場合、ドライブを表す文字ではなく、共有名 (¥¥myshare¥mydirectory など) を指定します。 FileInput ノードは、指定の入力ディレクトリーに mqsitransitin サブディレクトリーを作成します。 mqsitransitin サブディレクトリーは、入力ファイルの処理中にそれを保留にしてロックします。 この入力ディレクトリー内でファイルを処理する実行グループが除去された場合、 mqsitransitin サブディレクトリーを調べて、 一部だけ処理されたファイルや未処理のファイルがないかを確認してください。 そのようなファイルがあれば、それを入力ディレクトリーに戻し入れることにより (そして実行グループ UUID 接頭部をファイル名から除去することにより)、 異なる実行グループによる処理を可能にします。 |
inputDirectory |
ローカル・サブディレクトリーを含める | はい | はい | False | 指定された入力ディレクトリーのすべてのサブディレクトリーでも、処理するファイルを検索する必要があるかどうかを指定します。 このプロパティーと「リモート転送」プロパティーを選択すると、リモート・システム上で指定した最上位ディレクトリーでのみ、ファイルが検索されます。 | recursiveDirectories |
ファイル名またはパターン | はい | はい | * | 入力ディレクトリーにある 1 つ以上の処理対象ファイルを識別するファイル名またはストリング。 オプションでワイルドカード文字 (* または ?) を含めることができます。 | filenamePattern |
ファイル除外パターン | いいえ | はい | なし | 処理から除外するファイルを指定する、オプションのワイルドカード文字 (* および ?) を含む単純ストリング。 | excludePattern |
正常処理時のアクション | はい | いいえ | 削除 | コンテンツの処理が正常に行われた後、ノードがファイルに対して実行するアクション。 有効なオプションは、以下のとおりです。
|
|
重複するアーカイブ・ファイルを置き換える | はい | いいえ | 選択されていない | このプロパティーは、ノードが既存のアーカイブ・ファイルを同じ名前の入力ファイルで置き換えるかどうかを制御します。 これが適用されるのは、「正常処理時のアクション」が「削除」でない場合のみです。 |
FileInput ノードの「入力メッセージの構文解析」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
メッセージ・ドメイン | いいえ | いいえ | BLOB | メッセージの構文解析に使用されるドメイン。 フィールドがブランクの場合、デフォルトは BLOB になります。 |
メッセージ・モデル | いいえ | いいえ | 選択されていない | メッセージが定義されているメッセージ・モデル・スキーマ・ファイルの名前またはロケーション。 このリストには、選択したメッセージ・ドメインに使用可能なすべてのメッセージ・モデル・スキーマ・ファイルが取り込まれます。 |
メッセージ | いいえ | いいえ | 選択されていない | データの文書全体をモデル化し、メッセージ・モデル・スキーマ・ファイル内に含まれているグローバル・エレメントの名前またはロケーション。 このリストには、選択したメッセージ・モデルで定義された、利用可能なすべてのメッセージが取り込まれます。 |
物理形式 | いいえ | いいえ | 選択されていない | メッセージの物理フォーマットの名前。 MRM または IDOC パーサーを使用する場合は、リストから着信メッセージの物理形式を選択します。 このリストには、選択されたメッセージ・モデル用に定義したすべての物理形式が含まれます。 「メッセージ・ドメイン」プロパティーを DataObject に設定した場合、このプロパティーを XML または SAP ALE IDoc に設定できます。 外部ソースからのビット・ストリームを構文解析してメッセージ・ツリーを生成する必要がある場合には、このプロパティーを SAP ALE IDoc に設定してください。 |
メッセージ・コード化文字セット ID | はい | いいえ | ブローカー・システム・デフォルト | 読み取られるファイルのバイトを解釈するのに使用されるコード化文字セットの ID。 mqsiapplybaroverride のコマンド・プロパティーは messageCodedCharSetIdProperty です。 |
メッセージ・エンコード | はい | いいえ | ブローカー・システム指定 | 読み取られるファイルのバイトを解釈するのに使用される数字およびラージ文字のエンコード・スキーム。 有効な値は、「ブローカー・システム指定」または数値のエンコード値です。 エンコードの詳細については、データ変換を参照してください。 mqsiapplybaroverride のコマンド・プロパティーは messageEncodingProperty です。 |
「パーサー・オプション」 プロパティー:
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
構文解析のタイミング | いいえ | いいえ | 要求時 | このプロパティーは、入力メッセージを構文解析する時を制御します。 有効な値は以下のとおりです。
このプロパティーに関する詳しい説明については、要求時の構文解析を参照してください。 |
XML スキーマ・データ・タイプを使用してツリーを構築する | いいえ | いいえ | 選択されていない | このプロパティーは、メッセージ・ツリー内の構文エレメントが、XML スキーマから取得されたデータ・タイプを持つかどうかを制御します。 |
XMLNSC コンパクト・パーサーを XMLNS ドメインに使用 | いいえ | いいえ | 選択されていない | XMLNS ドメイン内のメッセージに XMLNSC コンパクト・パーサーを使用するかどうかを指定します。 このプロパティーを設定すると、以下のいずれかの項目が XMLNS である場合、出力ターミナルに接続されているノードの XMLNSC の下にメッセージ・データが表示されます。
|
混合内容の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内の混合テキスト用に、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、混合テキスト用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、混合テキストは無視されて、エレメントは作成されません。 |
コメントの保存 | いいえ | いいえ | 選択されていない | XMLNSC パーサーが、入力メッセージ内のコメント用に、メッセージ・ツリーにエレメントを作成するかどうかを指定します。 チェック・ボックスを選択すると、コメント用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、コメントは無視されて、エレメントは作成されません。 |
処理命令の保存 | いいえ | いいえ | 選択されていない | このプロパティーは、XMLNSC パーサーが入力メッセージ内の処理命令のために、メッセージ・ツリー内にエレメントを作成するかどうかを制御します。 チェック・ボックスを選択すると、処理命令用のエレメントが作成されます。 このチェック・ボックスのチェックを外した場合、処理命令は無視されて、エレメントは作成されません。 |
不透明エレメント | いいえ | いいえ | ブランク | XMLNSC パーサーによって不透明解析される入力メッセージ内のエレメントのリストを指定するときに、このプロパティーを使用します。 不透明解析が実行されるのは、妥当性検査が使用不可に設定されている場合のみ (つまり、「妥当性検査」が「なし」の場合) です。妥当性検査が使用可能な場合、「不透明エレメント」で指定される項目は無視されます。 |
「ポーリング」 プロパティー:
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
ポーリング間隔 (秒数) | はい | はい | 5 | 秒単位のポーリング間隔。 | waitInterval |
「再試行」 プロパティー:
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
再試行メカニズム | はい | いいえ | 失敗 | ノードがフローの障害をどのように処理するかを示します。 有効なオプションは、以下のとおりです。
|
|
再試行しきい値 | はい | はい | 0 | 「再試行メカニズム」プロパティー値が「短い再試行」である場合に、フロー・トランザクションを再試行する回数。 | retryThreshold |
短い再試行間隔 | いいえ | はい | 0 | 「再試行しきい値」プロパティーがゼロでない場合の各再試行間の秒単位の間隔。 | shortRetryInterval |
長い再試行間隔 | いいえ | はい | 300 | 「再試行メカニズム」プロパティーが「短い再試行と長い再試行」で、再試行しきい値に達した場合の、再試行間の間隔。 | longRetryInterval |
ファイル失敗時のアクション | はい | はい | バックアウト・サブディレクトリーに移動する | 入力ファイルの内容を処理するための試行がすべて失敗した場合に、ノードが入力ファイルに対して実施するアクション。
有効なオプションは、以下のとおりです。
|
「レコードとエレメント」 プロパティー:
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
レコード検出 | はい | いいえ | ファイル全体 | 入力ファイル内のレコードを特定するために使用される仕組み。 有効なオプションは、以下のとおりです。
|
長さ | はい | いいえ | 80 | レコード検出に「固定長」が選択されたときの各レコードのバイト単位の長さ。 |
区切り文字 | はい | いいえ | DOS または UNIX の行終了 | 「区切り」レコード検出が選択されたときに、各レコードを分離または終了する区切り文字バイトのタイプ。 有効なオプションは、以下のとおりです。
|
カスタム区切り文字 | いいえ | いいえ | 「区切り」レコード検出および「カスタム区切り文字」が選択されたときの、16 進数で表される区切り文字バイト。 「区切り文字」プロパティーを「カスタム区切り文字」に設定した場合のみ、このプロパティーは必須です。 | |
区切り文字タイプ | はい | いいえ | 後置 | 「区切り」レコード検出が選択されたときの区切り文字の位置。 有効なオプションは、以下のとおりです。
|
最初のレコードをスキップ | はい | いいえ | FALSE | ファイル内の最初のレコードをスキップします。 FileInput ノードはファイル内の最初のレコードを読み取りますが、そのレコードを Out ターミナルに伝搬しません。 2 番目のレコード以降は、通常の方式で伝搬されます。 最初のレコードが処理不要なヘッダーの場合には、このオプションを使用します。 ファイル全体を使用する場合には、このオプションは適切ではありません。 |
「妥当性検査」 プロパティー:
これらのプロパティーの詳細については、妥当性検査プロパティーを参照してください。
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
妥当性検査 | いいえ | はい | なし | このプロパティーは、妥当性検査を行うかどうかを制御します。 有効な値は以下のとおりです。
|
validateMaster |
失敗時の処置 | いいえ | いいえ | 例外 | このプロパティーは、妥当性検査が失敗した場合の動作を制御します。 有効な値は以下のとおりです。
|
「FTP」 プロパティー:
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
リモート転送 | いいえ | はい | 選択されていない | このプロパティーは、ノードが「FTP」タブにリストされたリモート・ファイル転送プロパティーを使用して、FTP または SFTP サーバーのいずれかからファイルを読み取るかどうかを定義します。 このプロパティーと「ローカル・サブディレクトリーを含める」プロパティーを選択すると、リモート・システム上で指定した最上位ディレクトリーでのみ、ファイルが検索されます。 | fileFtp |
転送プロトコル | いいえ | はい | FTP | このプロパティーは、リモート転送に使用するプロトコルを指定します。 有効な値は以下のとおりです。
|
remoteTransferType |
リモート・サーバーおよびポート | いいえ | はい | なし | このプロパティーは、以下の以下のいずれかの値を持つことができます。
|
fileFtpServer |
セキュリティー ID | いいえ | はい | FTP または SFTP サーバーにアクセスするために使用するユーザー識別の名前。 このプロパティーは、FtpServer 構成可能サービス内の securityIdentity プロパティー (設定されている場合) によって指定変更されます。 | fileFtpUser | |
サーバー・ディレクトリー | いいえ | はい | "." | ファイルの転送元の FTP または SFTP サーバー上のディレクトリー。 このプロパティーを相対パスとして指定すると、ログオン後のホーム・ディレクトリーに対して相対的になります。 このプロパティーは、FtpServer 構成可能サービス内の remoteDirectory プロパティー (設定されている場合) によって指定変更されます。 | fileFtpDirectory |
転送モード | いいえ | いいえ | バイナリー | ファイル・データの転送用の FTP 転送モード。
このプロパティーは、リモート転送用のプロトコルとして FTP が選択されている場合にのみ有効です。有効な値は以下のとおりです。
リモート転送のプロトコルに SFTP を指定すると、「転送モード」プロパティーは無視され、バイナリー・エンコードが使用されます。 |
|
スキャン遅延 | いいえ | はい | 60 | リモート・ディレクトリー・スキャン間の秒単位の遅延。 このプロパティーは、「リモート転送」プロパティーの選択時に「ポーリング間隔」に設定した値を指定変更します。 このプロパティーは、FtpServer 構成可能サービス内の scanDelay プロパティー (設定されている場合) によって指定変更されます。 |
「トランザクション」 プロパティー:
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
トランザクション・モード | いいえ | はい | いいえ | この入力ノード上のトランザクション・モードによって、フロー内の残りのノードが同期点の下で実行されるかどうかが決まります。
有効なオプションは、以下のとおりです。
|
プロパティー | M | C | デフォルト | 説明 | mqsiapplybaroverride コマンド・プロパティー |
---|---|---|---|---|---|
追加インスタンス・プール | いいえ | はい | メッセージ・フローに関連付けられたプールの使用 | 追加インスタンスの取得元のプール。
|
componentLevel |
追加インスタンス | いいえ | はい | 0 | 「追加インスタンス・プール」プロパティーが「ノードに関連付けられたプールの使用」に設定されている場合に、ノードが開始できる追加インスタンスの数。 | additionalInstances |
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
イベント | いいえ | いいえ | なし | ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」、「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。 「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。 |