IM-LogicDesigner ではマッピング設定で、型が異なる項目をマッピングすると暗黙的な型変換が行われます。
マッピング設定についての詳細は IM-LogicDesigner チュートリアルガイド マッピング設定を行う をご参照ください。
データ型毎の変換の仕様については IM-LogicDesigner データ型変換 仕様書 をご参照してください。
このCookbookでは、データ型変換の例としてstring 型から storage 型にマッピングを行うと暗黙的な型変換が行われ 、パブリックストレージに変換されることを紹介します。
string 型から storage 型への暗黙的な型変換を利用することで、パブリックストレージ取得(Public Storage Acquisition)タスクの配置、および、そのタスク出力のマッピングを省略することが可能です。
完成イメージ
storage 型を入力値とするストレージファイル読み込み(文字列)(Load Storage File (Character String))タスクに対し、 パブリックストレージのパスを表す string 型の値をマッピングします。
マッピングにより暗黙的な型変換が行われ、ストレージファイル読み込み(文字列)(Load Storage File (Character String))タスクにて、パブリックストレージの内容が正しく読み込まれること確認します。
レシピ
1. パブリックストレージに検証用のフォルダとファイルを作成して配置する
2. 暗黙的なデータ型変換を利用するフロー定義を作成する
3. フローの実行と結果を確認する
1. パブリックストレージに検証用のフォルダとファイルを作成して配置する
定数「PUBLIC_STORAGE」に指定するパスにファイルを配置します。
サンプルでは cookbook/test.txt
とします。
1. 「システム管理」→「ファイル操作」 をクリックします。
2. 左側のツリーからディレクトリを作成したい位置をクリックします。
サンプルでは default ディレクトリ直下にディレクトリを作成します。
「Create directory」をクリックし、「Create directory」画面からディレクトリを作成します。
3. ディレクトリが作成できたら、ファイルをアップロードします。
アップロードしたいディレクトリをクリックし、「Add files」をクリックしてファイル選択ダイアログからファイルを選択します。
4. ファイルが配置されたことを確認します。
サンプルでは cookbook フォルダ配下に Hello! Cookbook
と記載された test.txt を配置しています。
2. 暗黙的なデータ型変換を利用するフロー定義を作成する
フロー定義の処理は以下の通りです。
1. ストレージファイル読み込み(文字列)(Load Storage File (Character String))タスク
2. ログ出力(Log Output)タスク
フロー定義全体は以下の通りです。
ツールバーの「定数設定」をクリックし、以下の定数を定義します。
- PUBLIC_STORAGE: パブリックストレージのパス
サンプルでは パブリックストレージのパスをcookbook/test.txt
としています。
マッピング設定を以下のように行います。
1. ストレージファイル読み込み(文字列)(Load Storage File (Character String))タスク
ファイルの内容を読み込むため、 im_readTextToStorage1 を以下のようにマッピングします。
string 型から storage 型に異なる型でマッピングしていますが、自動でデータ型変換が行われパブリックストレージに変換されます。
- 「Constant - PUBLIC_STORAGE」→「im_readTextToStorage1」
2. ログ出力(Log Output)タスク
読み込んだファイルの内容をログに出力するため、 im_logger1 を以下のようにマッピングします。
- 「im_readTextToStorage1」→「im_logger1」
これでフロー定義の作成が完了しました。
保存しておきましょう。
3. フローの実行と結果を確認する
1. フローの実行します。
保存したフロー定義を開き、ツールバーの「デバッグ」をクリックします。
「フロー定義のデバッグ」ウィンドウが開いたら、「実行」をクリックします。
次に、実際にフロー定義を実行してみましょう。
ダイアログが表示されたら、「決定」をクリックしてフローの実行を開始します。
2. フローの結果を確認します。
フロー実行後、指定したパスのファイルが読み込まれ、ログに出力されていることを確認します。
サンプルでは ファイルにHello! Cookbook
と書き込んでおります。
「ログ出力タスクを実行します。」の下にファイル内容が表示されていれば、ストレージファイル読み込み(文字列)(Load Storage File (Character String))タスクに string 型の値を渡してもデータ型変換が正しく行われていることがわかります。
まとめ
このCookBookでは、 string 型から storage 型にマッピングを行うと暗黙的な型変換が行われ 、パブリックストレージに変換されることを紹介しました。
データ型変換を適切に活用することで、フロー定義をより効率的に記述することができます。