M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Pentahoで添付ファイル付きメールを送信する

いまだにPentahoに慣れずあれこれ試行錯誤しているのですが、きょう一日仕事やなんかの合間を縫って調べていたのは、添付ファイル付きメールを送信する方法です。

バッチ処理の結果を記録したファイルやログファイルなど、何かしらの情報をメールで送りたいというのはよくあることだと思います。この添付送信のためにPentahoが用意している方法がまた面白いのです。

サンプル・ジョブをつくる

f:id:m12i:20150417010516p:plain

サンプルのジョブをつくったときの手順です:

  1. メニューから[ファイル]→[新規]→[ジョブ]をクリックしてまっさらなジョブを作成
  2. 「sample」ジョブ(sample.kjb)として保存
  3. 左側ペインの[デザイン]タブ→[全般]から「START」と「成功」のジョブを「sample」のタブにドラッグ&ドロップ
  4. 同様に[メール]から「メール」ジョブをドラッグ&ドロップ
  5. さらに[ファイル管理]から「ファイル名追加」ジョブをドラッグ&ドロップ
  6. これらをShiftキーを押しながらドラッグして順につなぎ合わせる(上図)
  7. 「ファイル名追加」のアイコンをダブルクリックして設定画面を表示
  8. [ファイル/フォルダー]欄の右の[ファイル]をクリック→ファイルピッカーで適当なファイルを選択
  9. [ファイル/フォルダー]欄の右の[追加]をクリックして[ファイル/フォルダー]リストに項目追加して[OK]
  10. 「メール」のアイコンをダブルクリックして設定画面を表示
  11. [アドレス]タブや[サーバ]タブで各種情報を設定
  12. [メッセージ]タブで件名や本文を設定
  13. [添付ファイル]タブで[ファイルを添付する]をON
  14. [タイプ]で「一般」を選び→[OK]

以上でとりあえずサンプルのジョブは完成です。実行すると添付ファイル付きメールが送られます。

"コメントのみ送信"

「メール」ジョブの[メッセージ]タブにある、[コメントのみ送信]というチェックボックスをONにしないと、メール本文の下段にジョブの実行情報が自動で記載されます。つまり「コメント」とは「本文」のことのようです。この情報が不要(というか付けたくない)という場合はONにします。

"ファイル名を結果に含む"

今回はファイル添付に「ファイル名追加」ジョブを使用しましたが、「メール」ジョブの前段において添付ファイルの設定に利用できるジョブはほかにもあるようです。

[ファイル管理]配下のジョブのうち「ファイル移動」などいくつかのジョブの設定画面をみると、[ファイル名を結果に含む]というチェックボックスがあります。このチェックボックスをONにすると、ジョブの処理対象となったファイルのパス情報が後続のジョブに渡されます。これらのジョブは「メール」ジョブの添付ファイルを指定することができるようです。なお、サンプルで使用した「ファイル名追加」ジョブはそれ自身では業務ロジックはなにもせず、ファイルのパス情報の生成(定義)と後続への引き渡しをもっぱらとするジョブです。

最初「メール」ジョブの設定画面に[ファイルを添付する]チェックボックスはあっても対象のファイルをしていする欄がないため「??!」となってしまったのですが、分かってしまえば「なるほど」です。おかげさまで、ジョブにしろ変換にしろ、実行ユニット間でのデータのやり取りをすべてレコードの観念で抽象化して、業務ロジックを組み立てていくというPentahoの思想(というかETLツール全般の思想なのでしょうか?)をすこし理解できた気分です。