ファイルを読み込むReadコンポーネント

スポンサーリンク

今回使うコンポーネント

コンポーネントアイコン・領域用途
ReadIs Trueファイルを読み込む

ファイル読み込みのRead

ファイルの読み込みにはReadを使用します。Readの使い方は至ってシンプルでPathにファイルパスを指定して、ファイルの読み込みをします。

このようにパスを指定してAPIを実行すると。

Readコンポーネント

ファイルの内容が取得されpayloadにセットさせるので、このようにファイルの内容が表示されます。

Readしたファイルを表示

フォルダの中身のファイルを取得するには前回紹介したListコンポーネントと併用してループ処理で取得するといいでしょう。

ファイルのロック機能

ファイル取得中はロック機能を使用することでファイルの読み取り中に他のプロセスがそのファイルにアクセスするのを防ぐことができます。

ファイルのロック機能

ファイルが全て読み取られる or フローが終了するとロックが解除されるため、容量が少ないファイルでのロックの効果はほぼ皆無ではありますが、容量が大きいファイルで他からのアクセスを抑止したい場合に使用するオプションとなります。なお、ロック中にファイル読み込みした場合は「FILE:FILE_LOCK」エラーがスローされます。

MIMEタイプ

リードしたファイルのMIMEタイプはファイルの拡張子により自動的に判別されます。

例えば、以下のようなcsvファイルをそのままReadした場合は、

果物,値段
りんご,100
オレンジ,70

このようにtext/csvとして扱われますが、

MIMEタイプを指定しないときは拡張子に応じた形式で取得される

ReadコンポーネントのMIME Typeで明示的に指定することによって、拡張子関係なく指定した形式で読み込むことができます。ちょっと分かりづらいですが、text/plainで取得した時とヘッダー情報が違っていることが分かります。

MIME Typeの指定
MIMEタイプを変えた時のヘッダー情報

基本的に拡張子に結びついた初期設定でいいと思いますが、エンコードについても同様となっていますので、取得するファイルがどういうものかが分かっているものは明示的に指定するようにしましょう。

最後に

ロック機能やMIMEタイプの指定などはあまり使わない機能かと思いますが、ファイル操作についてはMuleフロー内でもよく使う操作となりますので、使い方をしっかりと覚えておきましょう。

MuleSoft
スポンサーリンク

コメント