パイプラインを流れるデータ
パイプラインの中では、データは「センサー」「フィルター」「ジョイント」の順に流れていきます。
流れるデータは「センサー」および「フィルター」で生成されます。
センサーの入力データ
センサーで入力されるデータは、アクションの設定によって変わります。データにはレコードタイプとパラメータタイプのデータがあります。
パラメータタイプのデータ
パラメータタイプのデータは一つのリクエストの中で一つしか値を持たないものです。フォルダ監視系のアクションで取得できるファイル名などのデータがその一つです。フォルダ監視系のアクションでは、更新されたファイル一つ一つに対してリクエストが実行されます。つまり、ひとつのリクエストに対して一つのファイルデータができることになります。
レコードタイプのデータ
レコードタイプのデータは一つのリクエストの中で同じ名前で複数の値をもつデータです。データベース系のアクションのようにいくつかのフィールドを持ち、一つのリクエストの中で複数レコードの値を持つようなものがその一つです。データベース系のアクションでは、定期的にデータベースを監視し、取得した複数レコードの値を一つのリクエストで処理します。つまり、一つのリクエストに対して複数のレコードデータができることになります。
フィルターでの変数追加
センサーで取り込まれたデータをフィルターで加工するときに、そのまま値を更新してしまうと元のデータが再利用できなくなります。こういうときには、フィルターで新しい変数を追加することができます。フィルターで追加できる変数にはユーザー変数とレコード変数があります。
レコード変数、ユーザー変数の追加は、フィルターステージのデータタブで行います。
ユーザー変数
ユーザー変数はリクエストの中で一つだけ値を持ちます。たとえばレコードタイプのデータを変換してユーザー変数に代入した場合は最初のレコードの値の結果だけが有効になります。
レコード変数
レコード変数は、レコードタイプのデータをセンサーが取り込む場合に、その各レコードに対応した値を持つことができます。例えば、レコードタイプのデータを変換してレコード変数に代入した場合、各レコードの変換元のデータに対応した変換結果がレコード変数に格納されていきます。
データの流れる順序
パイプラインでは各ステージでアクションが一つずつ実行されていきます。
レコードタイプのデータがある場合、すべてのレコードに対して処理が完了してから次のアクションへと進みます。