Azure Data Factoryとは、Azure上で提供されるデータの移動や変換処理を自動化することができるデータ統合管理サービスです。
今回は、Azure Data Factoryを使ったデータ処理の過程でエラーが発生した場合に、Azure Logic Apps*1を使用して、メールを送る方法を紹介します。
※設定方法はMicrosoftのマニュアルを参考に実施します
パイプラインの作成
Azure DataFactoryを利用して、ファイルをストレージ間でコピーするパイプラインを作成します。
今回は、このパイプラインがエラーになったときに、メールで通知ができるように設定していきます。
方法として、トップ画面の「取り込み」を選択して、コピータスクの手順に沿ってパイプラインを作成するか、個別にパイプラインを作成するかの2つありますが、どちらからでも問題ありません。
作成方法の詳細は以下のリンクを参照ください。
トップ画面からの場合
個別にパイプラインを作成する場合
Azure Logic Appsの設定
Azure Portalから、Azure Logic Appsを以下のような内容で作成します。
HTTP要求の受信時の設定
作成したAzure Logic Appsを開き、開発ツール-ロジックアプリデザイナーを選択します。
右側にいくつかトリガーの例が出てくるので、「HTTP要求の受信時」を押下します。
HTTP要求の受信時に関する設定画面が表示されたら、「要求本文のJSONスキーマ」に以下のような設定を入力します。メソッドは「POST」を選択します。
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
入力が完了したら、「新しいステップ」を押下し、設定を追加します。
メール送信の設定
選択欄から「Office 365 Outlook」を選択します。
表示されるアクション欄から「メールの送信(V2)」を選択します。
選択すると、Outlookへのサインインボタンが表示されるため、押下して自分のアカウントにログインします。
メールの送信(V2)の設定画面が表示されたら、「宛先」「件名」「本文」を設定します。
その際、「HTTP要求の受信時の設定」で作成したパラメータを設定することができます。このパラメータを設定すると、Azure DataFactory側の値をメールに埋め込めます。
設定の保存とURLの確認
「HTTP要求の受信時の設定」と「メール送信の設定」の設定が完了したら、保存ボタンを押します。
※右上に「ロジックアプリの保存が完了しました」と表示されます
保存が完了すると、概要ページのワークフローURLで、ロジックアプリのURLが確認できるようになります。
※HTTP要求の受信時の「HTTP POSTのURL」からも確認可能です
作成したAzure Logic Appsの設定をパイプラインに追加
最初にAzure DataFactoryで作成したパイプラインを開き、アクティビティの「全般」の中にある「Web」をパイプライン上に配置します。
データのコピーアクティビティの赤い「×」とWebアクティビティをつなぎ、エラーの場合に実行されるようにルートを設定します。
Webアクティビティを選択し、設定タブのURL欄にAzure Logic AppsのURLを貼り付け、メソッドも同じ「POST」を選択します。
本文には、Azure Logic AppsのHTTP要求の受信時に関する設定画面で入力した、JSONスキーマの値を設定します。
{
"message":"@activity('<パイプライン名>').error.Message",
"dataFactoryName":"@{pipeline().DataFactory}",
"pipelineName":"@{pipeline().Pipeline}",
"receiver":"@{pipeline().parameters.receiver}"
}
メールアドレスはパイプラインを選択し、パラメータータブを開いたら、「+新規」を押下して1行追加し、名前には「receiver」、設定値に送付したいメールアドレスを設定します。
実行
保存したデータパイプラインを実行し、エラーを発生させると、指定したメールアドレス宛にAzure Logic Appsで設定した内容でメールが送付されます。
パラメータで指定した部分は、Azure DataFactoryの値が設定されます。
終わりに
今回はLogic Appsを利用して、Azure DataFactoryでエラーが発生した際にメールを送付する方法をご紹介しました。
データパイプラインを構築する際の参考になれば幸いです。
*1:ノーコード/ローコードで簡単にワークフローを作成・実行できるサービス