LoginSignup
0

More than 3 years have passed since last update.

Talendでレコード一覧を1つのメールにまとめて送りたい

Posted at

ペインポイント

tSendMailは(一応)入力としてRowを受け付けるが、考えなしに接続するとレコードごとに個別にメールを送ってしまう。(すなわち、5レコードあると5通のメールが送られる)
そうではなく、1通にまとめて送りたい。

やりかた

Rowとして送るなら、tMapでレコードごとに整形したあとtDenormalizeで一つにまとめれば良い。
image.png
tMapは単に出力側をString1カラムにして整形しているだけなので割愛。

tDenormalize

本来はGROUP BYの簡略版みたいなもののようだが、入力側が1カラムでかつ当該カラムを非正規化させると全レコードを1つにまとめてくれる。

tSendMail

反復でなくRowで接続してもレコードごとに1メール。
なのにメッセージ欄はGUI編集どころか補完も効かない(v7.2.1)。tMap等と同じく「(接続名).(カラム名)」で前のコンポーネントから渡ってきたデータを引けるので自力で整形する。
image.png

ところで

テスト用のメールサーバはMailHogが楽でいいです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0