Talend Open Studio Data Integration のジョブで発生したエラー情報をメールで送信する
tSendMail コンポーネントを使って発生したエラー情報をメールで送信する
前回下記の記事で Talend Open Studio Data Integration でのエラー処理の基本を学びました。Talend Open Studio Data Integration でのエラー処理の基本
今回は Talend で発生したエラー情報をメールで送信する方法を学んでいきます。
[関連記事]
Talend Open Studio for Data Integration でのジョブ作成方法Talend Open Studio for Data Integration で Oracle 接続が失敗あるいは遅い
データベース接続エラーを発生させるジョブを作成
ジョブで発生したエラー情報をメールで送信する方法を見ていきます。今回は Oracle データベースに接続するジョブを作成しますが、データベースに接続できないエラーを発生させるだけですので、データベースを準備する必要はありません。tOracleConnection コンポーネントと tOracleInput コンポーネントを配置し、tOracleConnection から tOracleInput 同士を接続します (OnComponentOK)。
また tLogCatcher コンポーネント配置するとともに、tSendMail コンポーネントも配置します。tLogCatcher は Talend のジョブで発生したエラーを捕捉してくれるコンポーネントで、tSendMail コンポーネントはメールを配信してくれる便利な部品です。
ジョブの全体像は次のようになります。
tOracleConnection コンポーネントの設定は次のように、Host に存在しない IP アドレスを設定します (ここでは 10.10.10.10 という存在しない IP アドレスを設定)。これでデータベースに接続できないエラーを発生させることが出来ます。
エラー情報を送信するために tSendMail コンポーネントを設定する
Oracle データベースへの接続が失敗すると、tLogCatcher コンポーネントによってエラーが補足されます。tLogCatcher には様々なエラー情報が格納されており、その中から今回は次のエラー情報を取得するようにしてみます。- job ===> ジョブ名
- origin ===> エラー発生原因となったコンポーネント名
- message ===> エラーメッセージ
これらの情報をメール本文に記載することで、どんな問題がどこで発生したのかメールを見るだけで判断できるはずです。
では tSendMail コンポーネントの "Message" 欄に下の図のように情報を記述しましょう。Message にこのような書き方をしている理由は、Talend が Java で記述されているためです。Java の文法に則ってメッセージを書く必要があります。