今回使うコンポーネント
コンポーネント | アイコン・領域 | 用途 |
---|---|---|
Read | ファイルを読み込む |
ファイル読み込みのRead
ファイルの読み込みにはReadを使用します。Readの使い方は至ってシンプルでPathにファイルパスを指定して、ファイルの読み込みをします。
このようにパスを指定してAPIを実行すると。
ファイルの内容が取得されpayloadにセットさせるので、このようにファイルの内容が表示されます。
フォルダの中身のファイルを取得するには前回紹介したListコンポーネントと併用してループ処理で取得するといいでしょう。
ファイルのロック機能
ファイル取得中はロック機能を使用することでファイルの読み取り中に他のプロセスがそのファイルにアクセスするのを防ぐことができます。
ファイルが全て読み取られる or フローが終了するとロックが解除されるため、容量が少ないファイルでのロックの効果はほぼ皆無ではありますが、容量が大きいファイルで他からのアクセスを抑止したい場合に使用するオプションとなります。なお、ロック中にファイル読み込みした場合は「FILE:FILE_LOCK」エラーがスローされます。
MIMEタイプ
リードしたファイルのMIMEタイプはファイルの拡張子により自動的に判別されます。
例えば、以下のようなcsvファイルをそのままReadした場合は、
果物,値段
りんご,100
オレンジ,70
このようにtext/csvとして扱われますが、
ReadコンポーネントのMIME Typeで明示的に指定することによって、拡張子関係なく指定した形式で読み込むことができます。ちょっと分かりづらいですが、text/plainで取得した時とヘッダー情報が違っていることが分かります。
基本的に拡張子に結びついた初期設定でいいと思いますが、エンコードについても同様となっていますので、取得するファイルがどういうものかが分かっているものは明示的に指定するようにしましょう。
最後に
ロック機能やMIMEタイプの指定などはあまり使わない機能かと思いますが、ファイル操作についてはMuleフロー内でもよく使う操作となりますので、使い方をしっかりと覚えておきましょう。
コメント