ASTERIA Warpとkintoneその5:kintoneFileDownloadを使ってレコードの添付ファイルをダウンロードする。

kintoneFileDownloadを使用することで、レコードの添付ファイルをダウンロードすることができます。

使用するコネクションとkintoneのアプリ

コネクションはその1から使用しているものを引き続き使用します。
アプリはその2から使用しているものに添付ファイルのフィールドを追加して使用します。

kintoneアプリに入っているレコード

レコードは3件入っています。添付ファイル無しが1件、残りの2件はレコードごとに異なるファイルを添付されています。

添付ファイルは2件ともtxtファイルで、内容はレコード番号24が「テスト用txtファイルの中身。」、レコード番号25が「こちらはその2。」です。

kintoneFileDownloadを使ってレコードの添付ファイルをダウンロードする

レコード番号24と25のレコードから添付ファイルを取得することを目標として進めていきます。

使用するフロー

kintoneGetで全レコードのfileKeyを取得して、fileKeyのないレコードはRecordFilterで取り除きます。fileKeyが値を持つレコードの分だけマッパーとkintoneFileDownloadをループさせます。

フローの設定

フローを構成するコンポーネントの設定を解説します。

kintoneGetの設定

フロー上のkintoneGetをダブルクリックしてkIntoneビルダーを立ち上げます。この際コネクションが未設定の場合、コネクションの選択画面が表示されるので先にコネクションの選択を行います。

kintoneビルダーで「添付ファイル.fileKey」と「レコード番号」を取得するように設定します。
「添付ファイル.fileKey」はkintoneFileDownloadで添付ファイルを取得するために必要になります。「レコード番号」は添付ファイルごとに異なる名前を設定する際に使用します。

ここまでのkintoneビルダーを使った設定で、kintoneGetのプロパティは自動で設定されます。このままで問題ありません。

RecordFilter の設定

添付ファイルのないレコードは取得した「添付ファイル.fileKey」の値が空欄になります。添付ファイルのあるレコードだけを残したいので、プロパティの条件式に「$record.添付ファイル.fileKey != ""」と設定します。条件式に合うレコードのみが出力されるため、これで添付ファイルのあるレコードのみになります。
ほかのプロパティはデフォルトのままで問題ありません。

マッパーの設定

取得してストリームに流れている「添付ファイル.fileKey」と「レコード番号」を次のコンポーネントkintoneFileDownloadに渡します。レコード番号はファイル名として使用するため、constの値とconcatでつなげています。レコードごとに異なるファイル名で添付ファイルが出力されますが、添付ファイルはすべてtxtファイルであることを想定しています。
※左側のストリームに「レコード番号」が2つありますが、取得したレコードの「レコード番号」(上側)を次のコンポーネントに渡しています。

マッパーのプロパティはデフォルトのままで問題ありません。

kintoneFileDownloadの設定

ファイルキーと保存先ファイルパスは前のマッパーで既に設定しているので、ここはプロパティでコネクション名を設定するだけになります。コネクション名に今回使用するコネクション(kintoneGetに設定したものと同じ)を設定してここでの設定は完了です。

フローの実行結果

レコード24と25の添付ファイルが出力されていることが確認できました。

ファイルの中身も正しく取得できていることが確認できました。