変換関数
スクリプトを記述する必要なく、データピル値を変換します。変換関数を使用して、テキストの再フォーマット、数値計算の実行、潜在的に危険な SQL ステートメントのサニタイズ、複合的なオブジェクトの生 XML へのシリアル化を行います。
使用可能な変換関数のカテゴリには、日付と時刻、文字列、ユーティリティ、単純な数式、シェル引数のサニタイズ、SQL のサニタイズ、複合データが含まれます。変換関数の使用例を次に示します。
注:
現在、カスタム変換関数はサポートされていません。フローデザイナー データを変換するカスタム関数の作成方法については、「インラインスクリプト」を参照してください。
変換関数の適用
フローを設計または作成するときに、データピルに変換関数を適用できます。変換関数を適用するには、データピルをポイントするかタブで移動して、表示される f(x) () アイコンを選択します。アイコンを選択すると、[利用可能な変換 (Available Transforms)] リストが表示されます。データピルに適用する変換関数を選択し、必須フィールドに情報を入力して、[適用] を選択します。選択した変換関数が [適用された変換 (Applied Transforms)] リストに表示されます。
複数の変換関数の適用
同じデータピルに複数の変換関数を適用できます。[適用された変換 (Applied Transforms)] リストに一覧表示されているとおりに、変換関数は上から下へ順番に適用されます。たとえば、[文字列から日付 (String to Date)] 変換関数を適用してから、[時間を追加 (Add Time)] 変換関数を適用することができます。
適用された変換関数の表示
[適用された変換 (Applied Transforms)] リストを確認して、データピルに適用されている変換関数を特定できます。フローまたはアクションを設計または作成する場合は、データピルをポイントするかタブで移動して、f(x) (
) アイコンを選択します。フロー実行の詳細で適用された変換関数を表示することもできます。
注:
適用された変換機能の出力値はフィールド値であり、表示値ではありません。
データピルが特定のタイプの入力にドロップされると、入力に関連する変換関数カテゴリが自動的に提案されます。たとえば、SQL ステートメント内の特殊文字をエスケープし、シェルスクリプトにスクリプトが挿入されないようにし、API または操作要求を検証するための変換関数が提案されます。現在、システムでは次の入力に対して変換関数カテゴリが提案されます。
- JDBC ステップの SQL ステートメント入力にドロップされたデータピルには、「SQL のサニタイズ変換関数カテゴリ」が自動で表示されます。
- SSH ステップの コマンド入力にドロップされたデータピルには、「シェル引数のサニタイズ変換関数カテゴリ」が自動で表示されます。
デザインの検討
- 有効なタイプの入力のデータピルに変換関数を適用する
- 変換関数を適用する前に、入力のデータピルのタイプを確認してください。無効なデータピルタイプに変換関数を適用すると、システムは変換をスキップします。変換関数によってシステムで解析できない結果が生成された場合にも、エラーが発生します。たとえば、文字列を日付に変換する際に、変換によって有効な日付が生成されない場合、システムはエラーをスローします。
- 同じデータピルを使用して、複数の入力に適用された変換関数を確認する
- 変換関数は、実行時に特定の入力用に新しい値を作成し、元のデータピルは変更されません。したがって、複数のアクションまたはステップで同じデータピルを使用する場合は、変換関数を個々の入力に適用する必要があります。
- フロー実行の詳細で最終的に変換された値を確認する
- フロー実行の詳細には最終的に変換された値のみが表示され、適用された各変換の値は表示されません。
- 変換関数をテストして予期した結果が得られることを確認する
- 変換関数がデータピルの予期したランタイム値を生成することを確認します。詳細については、「フローのテスト」および「アクションのテスト」を参照してください。