コンテンツにスキップ

4.4 シリアライザ

ここでは、各シリアライザコンポーネントについて説明します。

4.4.1 JSONシリアライザ#

指定データをJSON形式へ加工するコンポーネントです。
入力ポートからコンポーネントのデータを受け取り、一定時間/件数で「コンポーネント名:データ名」をキーとしたJSON形式に加工して出力します。

4.4.1.1 基本情報#

JSONシリアライザの基本情報は、次の通りです。

項目 説明
ベース名 JSON
説明 コンポーネントのデータを受け取ってJSON形式の固定フォーマットに加工し、他のコンポーネントに渡します。
消費ポイント 0
ポート 入力:1
他のコンポーネントからデータを受け取ります。

出力:1
入力したデータを加工して作成したJSONファイルを出力します。出力するデータの詳細は、「出力データ項目」をご覧ください。

システム:1
コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。

4.4.1.2 設定項目#

JSONシリアライザの設定項目は、次の通りです。

項目 説明
名称 コンポーネントに付与する名前
※他のコンポーネント名と重複する事はできません。
自動起動無効 コンポーネントの自動起動を無効にする場合ON
整形する JSONを整形する場合ON
インデント JSONに付与するインデントを指定
※整形するをONにした場合入力可能
タイムゾーン JSON内のデータに付与するタイムスタンプのタイムゾーンを選択
切替基準 JSONファイルを切り替える基準を選択
切替時間(秒) 1つのJSONファイルに何秒分のデータを書き込むか入力
※切替基準が時間の場合入力可能
切替件数 1つのJSONファイルに何件データを書き込むかを入力
※切替基準が件数の場合入力可能
上限サイズ(KB) 1つのJSONファイルの上限サイズを入力
デフォルト小数桁数 データが浮動小数の場合の送信する桁数を設定
各データに小数桁数が指定していない場合のデフォルト値として利用する
通算ナノ時間付きで出力する データに通算ナノ秒を追加する
起動後は前回送信するデータの続きからデータを出力する コンポーネントを停止して、再開させた時に前回送信したデータの続きからデータを出力する

任意でJSONファイルに固定値を出力する事ができます。

項目 説明
固定値カラム名 固定値のカラム名
固定値として出力する値

4.4.1.3 出力データ項目#

JSONシリアライザは、次のデータを出力します。

項目 カラム名 データ型 説明
JSONデータ出力 output file FILE 作成したJSONファイルを出力するカラム。メディアタイプは"application/json"固定

以下は、リソースコレクタのI/Oのデータを受け取り、生成されたoutput fileの例です。 "records"に、データが格納されます。 "timestamp"は、データの生成日時です。 "resrc:~~"は、"resrc"という名前のリソースコレクタから受け取った、I/Oのデータです。

{
  "records": [
    {
      "timestamp": "2023-10-02T05:54:54.837742200Z",
      "resrc:IOPS": 0,
      "resrc:I_O": "sdb",
      "resrc:kb_r_s": 0,
      "resrc:kb_w_s": 0
    },
    {
      "timestamp": "2023-10-02T05:54:55.837652700Z",
      "resrc:IOPS": 0,
      "resrc:I_O": "sdb",
      "resrc:kb_r_s": 0,
      "resrc:kb_w_s": 0
    },
    ~~~
  ]
}

4.4.2 CSVシリアライザ#

指定データをCSV形式へ加工するコンポーネントです。
入力ポートからコンポーネントのデータを受け取り、一定時間/件数でCSV形式に加工して出力します。
CSVの並び順は入力ポートの設定で変更できます。

4.4.2.1 基本情報#

CSVシリアライザの基本情報は、次の通りです。

項目 説明
ベース名 CSV
説明 コンポーネントのデータを受け取ってCSVフォーマットに加工し、他のコンポーネントに渡します。
消費ポイント 0
ポート 入力:1
他のコンポーネントからデータを受け取ります。

出力:1
入力したデータを加工して作成したCSVファイルを出力します。出力するデータの詳細は、「出力データ項目」をご覧ください。

システム:1
コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。

4.4.2.2 設定項目#

CSVシリアライザの設定項目は、次の通りです。

項目 説明
名称 コンポーネントに付与する名前
※他のコンポーネント名と重複する事はできません。
自動起動無効 コンポーネントの自動起動を無効にする場合ON
区切り文字 CSVファイルの区切り文字を選択
改行コード CSVファイルの改行コードを選択
BOMを付ける CSVファイルにファイルBOMを付ける場合ON
ヘッダを付ける CSVファイルにヘッダを付ける場合ON
タイムゾーン CSVデータに付与するタイムスタンプのタイムゾーンを選択
切替基準 CSVファイルを切り替える基準を選択
切替時間(秒) 1つのCSVファイルに何秒分のデータを書き込むか入力
※切替基準が時間の場合入力可能
切替件数 1つのCSVファイルに何件データを書き込むかを入力
※切替基準が件数の場合入力可能
上限サイズ(KB) 1つのJSONファイルの上限サイズを入力
デフォルト小数桁数 データが浮動小数の場合の送信する桁数を設定
各データに小数桁数が指定していない場合のデフォルト値として利用する
通算ナノ時間付きで出力する データに通算ナノ秒を追加する
起動後は前回送信するデータの続きからデータを出力する コンポーネントを停止して、再開させた時に前回送信したデータの続きからデータを出力する
固定値カラムの位置 CSVファイル内での固定値カラムの位置を選択

任意でCSVファイルに固定値を出力する事ができます。

項目 説明
固定値カラム名 固定値のカラム名
固定値として出力する値

4.4.2.3 出力データ項目#

CSVシリアライザは、次のデータを出力します。

項目 カラム名 データ型 説明
CSVデータ出力 output file FILE 作成したCSVファイルを出力するカラム。メディアタイプは"text/csv"固定

以下は、リソースコレクタのI/Oのデータを受け取り、生成されたoutput fileの例です。 一番左の列は、データのタイムスタンプです。それ以外の列が、リソースコレクタから受け取った、I/Oのデータです。

2023-10-02T06:19:52.837670200Z,0.000,"sdb",0.000,0.000
2023-10-02T06:19:53.837656800Z,0.000,"sdb",0.000,0.000
2023-10-02T06:19:54.837805700Z,0.000,"sdb",0.000,0.000
2023-10-02T06:19:55.837734700Z,0.000,"sdb",0.000,0.000
~~~

4.4.3 汎用JSONシリアライザ#

指定データをJSON形式へ加工するコンポーネントです。
入力ポートからコンポーネントのデータを受け取り、一定時間/件数でJSON形式に加工して出力します。JSON形式はプリセットから選択するか、または任意の形式を指定できます。

4.4.3.1 基本情報#

汎用JSONシリアライザの基本情報は、次の通りです。

項目 説明
ベース名 汎用JSON
説明 コンポーネントのデータを受け取ってJSON形式の任意フォーマットに加工し、他のコンポーネントに渡します。
消費ポイント 2
ポート 入力:1
他のコンポーネントからデータを受け取ります。

出力:1
入力したデータを加工して作成したJSONファイルを出力します。出力するデータの詳細は、「出力データ項目」をご覧ください。

システム:1
コンポーネントの稼働状況やエラー情報を出力します。出力するエラー情報の詳細は、「エラーコード一覧」をご覧ください。

4.4.3.2 設定項目#

汎用JSONシリアライザの設定項目は、次の通りです。

項目 説明
名称 コンポーネントに付与する名前
※他のコンポーネント名と重複する事はできません。
自動起動無効 コンポーネントの自動起動を無効にする場合ON
プリセット JSONを整形するフォーマットを選択
JSONフォーマット プリセットで選択したフォーマット
※任意フォーマット指定を選択した場合編集可能
※置換文字列を使用すると、対応する情報に変換できます。詳細は「汎用JSONで使用可能な置換文字列」をご覧ください。
プレビュー JSONの出力プレビューを表示
インデント JSONに付与するインデントを指定
出力時間(秒) 1つのJSONファイルに何秒分のデータを書き込むか入力
最大レコード数 1つのJSONファイルに何レコード分のデータを書き込むかを入力
最大ウィンドウ数 1つのJSONファイルに何ウィンドウ分のデータを書き込むかを入力
最大ファイルサイズ(KB) 1つのJSONファイルの上限サイズをKB単位で入力

4.4.3.2.1 汎用JSONで使用可能な置換文字列#

置換文字列 引用符指定 説明 置換後のデータ例
<COMPONAME> 可能(必須) データの送信元コンポーネント名 plc-collector
<DATANAME> 可能(必須) データ名 D110
<DATATYPE> 可能(必須) データ型 double
<AGGRNAME> 可能(必須) 集約メソッド名(集約でない場合空文字) count
<AGGRNAME:.> 可能(必須) 接頭辞 + 集約メソッド名(集約でない場合空文字) .count
<VALUE> 不可 123.45
<DATETIME_UTC> 可能(必須) データのタイムスタンプの年月日時分秒(UTC) 2024-11-06T00:00:00.000000
<DATETIME_UTC:format> 可能(必須) データのタイムスタンプの年月日時分秒(UTC)をformat形式でフォーマット 2024/11/06 00:00:00
<DATETIME_LOCAL> 可能(必須) データのタイムスタンプの年月日時分秒(ローカルタイムゾーン) 2024-11-06T00:00:00.000000
<DATETIME_LOCAL:format> 可能(必須) データのタイムスタンプの年月日時分秒(ローカルタイムゾーン)をformat形式でフォーマット 2024/11/06 00:00:00
<TS> 可能 データのタイムスタンプ(秒単位) 1733356200
<TS:n> 可能 データのタイムスタンプ(秒単位)を小数点n位まで表示(n最大:9) 1733356200.123
<TS_MS> 可能 データのタイムスタンプ(ミリ秒単位) 1733356200123
<TS_MS:n> 可能 データのタイムスタンプ(ミリ秒単位)を小数点n位まで表示(n最大:9) 1733356200123.456
<TS_US> 可能 データのタイムスタンプ(マイクロ秒単位) 1733356200123456
<TS_US:n> 可能 データのタイムスタンプ(マイクロ秒単位)を小数点n位まで表示(n最大:9) 1733356200123456.789
<TS_NS> 可能 データのタイムスタンプ(ナノ秒単位) 1733356200123456789

置換文字列の記述について

  • 引用符指定可能の場合、置換文字列を引用符内に記載してください。例 "<COMPONAME>"
  • formatはstrftime互換の指定子を使用できます。例 "<DATETIME_UTC:%Y/%m/%d %H:%M:%S.%f>" → "2024/11/06 00:00:00.000000"

4.4.3.3 出力データ項目#

汎用JSONシリアライザは、次のデータを出力します。

項目 カラム名 データ型 説明
JSONデータ出力 output file FILE 作成したJSONファイルを出力するカラム。メディアタイプは"application/json"固定

以下は、リソースコレクタのI/Oのデータを受け取り、生成されたoutput fileの例です。 選択プリセットは"フォーマット1"、選択インデントは"空白2つでインデント"です。 "<DATETIME_UTC>"は、データのタイムスタンプに置換されます。 "<COMPONAME><DATANAME><AGGRNAME:.>"は、それぞれリソースコレクタ名、データ名、集約メソッド名に置換されます。 "<VALUE>"は、リソースコレクタから受け取ったI/Oデータに置換されます。

フォーマット1
[{"ts": "<DATETIME_UTC>Z", "column": "<COMPONAME>:<DATANAME><AGGRNAME:.>","value": <VALUE>}]
output file
[
  {
    "ts": "2023-10-02T05:54:54.837742Z",
    "column": "resrc:IOPS",
    "value": 0
  },
  {
    "ts": "2023-10-02T05:54:54.837742Z",
    "column": "resrc:I_O",
    "value": "sdb"
  },
  {
    "ts": "2023-10-02T05:54:54.837742Z",
    "column": "resrc:kb_r_s",
    "value": 0
  },
  {
    "ts": "2023-10-02T05:54:54.837742Z",
    "column": "resrc:kb_w_s",
    "value": 0
  },
]