Azure Data Factoryを利用して、エラーが発生したときにメールで通知する

Azure Data Factoryとは、Azure上で提供されるデータの移動や変換処理を自動化することができるデータ統合管理サービスです。

今回は、Azure Data Factoryを使ったデータ処理の過程でエラーが発生した場合に、Azure Logic Apps*1を使用して、メールを送る方法を紹介します。

※設定方法はMicrosoftのマニュアルを参考に実施します

learn.microsoft.com

パイプラインの作成

Azure DataFactoryを利用して、ファイルをストレージ間でコピーするパイプラインを作成します。

今回は、このパイプラインがエラーになったときに、メールで通知ができるように設定していきます。
方法として、トップ画面の「取り込み」を選択して、コピータスクの手順に沿ってパイプラインを作成するか、個別にパイプラインを作成するかの2つありますが、どちらからでも問題ありません。

作成方法の詳細は以下のリンクを参照ください。

learn.microsoft.com


トップ画面からの場合



個別にパイプラインを作成する場合

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:ノーコード/ローコードで簡単にワークフローを作成・実行できるサービス

執筆担当者プロフィール
井口 美和子

井口 美和子

Data&AIプラットフォーム部 Dataソリューション1G データ系サービスを取り扱うグループに所属しています。

担当記事一覧