ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework システム構築・運用ガイド

[目次][索引][前へ][次へ]

9.10.3 ファイル出力コネクター定義

ファイル出力コネクター定義(FileOutputConnectorDefinitionタグ)は,出力用CB定義(OutputCBDefinitionタグ)の子要素として定義します。

なお,ファイルの出力の処理については,「11.6 ファイルへの出力」を参照してください。

<この項の構成>
(1) 記述形式
(2) 定義の詳細
(3) 記述例
(4) 出力ファイル名の生成規則

(1) 記述形式

<FileOutputConnectorDefinition>
  <output compositionType="{WRAP_AROUND|ANTI_WRAP_AROUND}"
   maxNumber="<出力ファイル最大数>"
   maxSize="<出力ファイル最大サイズ>"/>
  <file path="<出力パス名>"
   prefix="<プレフィックス名>"
   addDate="{ON|OFF}"
   extension="<拡張子>"/>
</FileOutputConnectorDefinition>

(2) 定義の詳細

FileOutputConnectorDefinitionタグ(全体情報の定義)
ファイル出力コネクター定義の全体情報を定義します。この定義は必ず1個だけ記述します。
outputタグ(書き込み定義)
出力ファイルの書き込み処理の情報を定義します。この定義は必ず1個だけ記述します。
compositionType="{WRAP_AROUND|ANTI_WRAP_AROUND}"
出力ファイル構成を指定します。ラップアラウンドと非ラップアラウンドがあります。どちらの場合も,出力先ファイル名と同名のファイルが存在する場合には上書きします。省略した場合,WRAP_AROUNDが仮定されます。
指定できる値を次に示します。
  • WRAP_AROUND
    ラップアラウンド構成でファイルを出力します。
    maxNumber属性で指定したファイル数に達するまでレコードを出力し,指定したファイル数を超えると,最初に作成した出力ファイルに上書きして出力します。ディスク容量の圧迫によるシステムの動作不正を防ぐため,通常の運用ではWRAP_AROUNDを指定してください。
    また,WRAP_AROUNDを指定する場合は,fileタグのaddDate属性にOFFを指定してください。
  • ANTI_WRAP_AROUND
    非ラップアラウンド構成でファイルを出力します。
    maxNumber属性で指定したファイル数に達するまでレコードを出力し,指定したファイル数を超えると,標準提供アダプターはレコードの出力を停止します。
maxNumber="<出力ファイル最大数>"
出力先のファイルの最大数を1〜100000の整数で指定します。省略した場合,256が仮定されます。
maxSize="<出力ファイル最大サイズ>"
1ファイルに書き込むレコードの行数を1〜10000の整数で指定します。この属性は省略できません。
fileタグ(出力ファイルの定義)
出力ファイルの情報を定義します。この定義は必ず1個だけ記述します。
出力ファイルは,ここで定義した内容に従って生成されます。出力ファイル名の生成規則については,「(4) 出力ファイル名の生成規則」を参照してください。
path="<出力パス名>"
ファイルを出力するディレクトリのパス名を1〜160文字の半角文字で指定します。ここで指定したディレクトリが存在しない場合は,そのディレクトリを生成します。この属性は省略できません。
この属性に指定できる文字を次に示します。
半角英数字,「!」,「#」,「$」,「%」,「&」,「’」,「(」,「)」,「=」,「~」,「`」,「{」,「}」,「+」,「-」,「^」,「.」,「_」,「@」,「\」,「/」,「:」,半角スペース
prefix="<プレフィックス名>"
ファイル名のプレフィックス(接頭辞)を1〜60文字の半角文字で指定します。path属性で指定した出力パス名からの相対パスで指定します。この属性は省略できません。
「\」,「/」,および「:」は指定できません。
この属性に指定できる文字を次に示します。
半角英数字,「!」,「#」,「$」,「%」,「&」,「’」,「(」,「)」,「=」,「~」,「`」,「{」,「}」,「+」,「-」,「^」,「.」,「_」,「@」,半角スペース
なお,予約デバイス名(NULなど)をファイル名に指定しないでください。予約デバイス名を指定した場合,動作は保証されません。予約デバイス名を指定したファイルをオープンしようとした場合,メッセージKFSP46211-Eが出力されてエラーとなります。
addDate="{ON|OFF}"
出力ファイル名に日時(hhmmss_MMDD_YYYY形式)を付与するかどうかを指定します。省略した場合,OFFが仮定されます。
指定できる値を次に示します。
  • ON
    日時を付与します。
  • OFF
    日時を付与しません。
extension="<拡張子>"
出力ファイル名に付与する拡張子を指定します。省略した場合,拡張子なしのファイルが出力されます。
この属性に指定できる文字を次に示します。
半角英数字,「!」,「#」,「$」,「%」,「&」,「’」,「(」,「)」,「=」,「~」,「`」,「{」,「}」,「+」,「-」,「^」,「.」,「_」,「@」,半角スペース

(3) 記述例

<?xml version="1.0" encoding="UTF-8"?>
<root:AdaptorCompositionDefinition
 xmlns:focon="http://www.hitachi.co.jp/soft/xml/sdp/adaptor/definition/callback/FileOutputConnectorDefinition">
<!-- 途中略 -->
 
<!-- 出力用CB定義 -->
<cb:OutputCBDefinition class="jp.co.Hitachi.soft.sdp.adaptor.callback.io.FileOutputCBImpl" name="outputer1">
  <!-- ファイル出力コネクター定義 -->
  <focon:FileOutputConnectorDefinition>
    <!-- 書き込み定義 -->
    <focon:output compositionType="WRAP_AROUND" maxNumber="100" maxSize="10"/>
    <!-- 出力ファイルの定義 -->
    <focon:file path="D:\home\" prefix="out" addDate="OFF" extension="csv"/>
  </focon:FileOutputConnectorDefinition>]
</cb:OutputCBDefinition>

(4) 出力ファイル名の生成規則

出力ファイルは,fileタグで指定した内容に従って生成されます。

出力されるファイル名の形式を次に示します。

'['プレフィックス名']' 【' ['日時_']' 】'['通番']'【.拡張子】
(凡例)
[ ]:この記号で囲まれた項目は,この記号を省略しないでそのまま記述することを示します。
【】:この記号で囲まれた項目は省略できることを示します。

ファイル名の値について説明します。

プレフィックス名
prefix属性で指定した値が使用されます。
日時
日時は,hhmmss_MMDD_YYYY形式です。
  • hh:時(00〜23)
  • mm:分(00〜59)
  • ss:秒(00〜59)
  • MM:月(01〜12)
  • DD:日(01〜31)
  • YYYY:年(西暦4けた表記)
出力ファイル名に日時を付与するかどうかは,addDate属性で指定します。addDate属性にONを指定した場合は日時が付与され,OFFを指定した場合は日時が付与されません。
通番
通番は,出力ファイルが生成された順番になります。通番は,1からoutputタグのmaxNumber属性で指定した値までです。標準提供アダプターを再起動した場合も同様に,通番は1からになります。
出力ファイル名に日時を付与する場合,年月日が変更された場合も,継続して通番が付与されます。通番の例を次に示します。
(例)
  • path属性の指定値:D:\home\
  • prefix属性の指定値:a
  • addDate属性の指定値:ON
  • extension属性の指定値:csv
この例の場合のファイルの生成番号と生成されるファイル名を次の表に示します。
生成番号 生成されるファイル名
1 D:\home\a235015_0706_2009_1.csv
2 D:\home\a235959_0706_2009_2.csv
3 D:\home\a000130_0707_2009_3.csv
なお,outputタグのcompositionType属性でWRAP_AROUNDを指定し,かつaddDate属性でONを指定している場合,日時が付与されるため,通番が同じでも別ファイルとなります。
拡張子
extension属性に指定した値が使用されます。