Azure Data Factory または Azure Synapse パイプラインを使用して電子メールを送信する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

多くの場合、パイプラインの実行中または実行後に通知を送信する必要があります。 通知では、予防的アラートが提供され、問題を検出するための事後対応型の監視の必要性が軽減されます。  この記事では、Azure Data Factory またはAzure Synapse パイプラインからの電子メール通知を構成する方法を説明します。 

前提条件

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Standard ロジック アプリ ワークフロー。 パイプラインからメール送信をトリガーするには、Azure Logic Apps を使用してワークフローを定義します。 Standard ロジック アプリ ワークフローの作成の詳細については、Standard ロジック アプリ ワークフローの例の作成に関するページを参照してください。

ロジック アプリでメール ワークフローを作成する

SendEmailFromPipeline という名前の Standard ロジック アプリ ワークフローを作成します。 When an HTTP request is received という名前の要求トリガーを追加し、Send an email (V2) という名前の Office 365 Outlook アクションを追加します。

Shows the logic app workflow designer with the Request trigger and Send an email (V2) action.

要求トリガーで、Request Body JSON Schema プロパティにこちらの JSON を指定します。

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

ワークフロー デザイナーの要求トリガーは、次のようになります。

Shows the workflow designer for the Request trigger with the Request Body JSON Schema field populated.

[メールを送信する (V2)] アクションでは、要求本文の JSON スキーマのプロパティを使用して、メールの書式設定方法をカスタマイズします。

Shows the workflow designer for the Send an email (V2) action.

ワークフローを保存します。 ワークフローの [概要] ページを参照します。 以下の画像で強調されている [ワークフロー URL] をメモします。

Shows the workflow Overview page with the Workflow URL highlighted.

Note

ワークフローの URL を検索するには、ワークフローを含むロジック アプリだけでなく、ワークフロー自体を参照する必要があります。 ロジック アプリ インスタンスの [ワークフロー] ページで、ワークフローを選択し、[概要] ページに移動します。

ロジック アプリ ワークフローをトリガーするパイプラインを作成する

メールを送信するロジック アプリ ワークフローを作成した後は、Web アクティビティを使用してパイプラインからそれをトリガーできます。

  1. 新しいパイプラインを作成し、 [全般] カテゴリの下にある [Web] アクティビティを見つけて編集キャンバスにドラッグします。

  2. 新しい [Web1] アクティビティを選択し、 [設定] タブを選択します。

    前に作成したロジック アプリ ワークフローの URL を [URL] フィールドに指定します。

    [本文] に次の JSON を指定します。

       {
        "message" : "This is a custom dynamic message from your pipeline with run ID @{pipeline().RunId}.",
        "dataFactoryName" : "@{pipeline().DataFactory}", 
        "pipelineName" : "@{pipeline().Pipeline}", 
        "receiver" : "@{pipeline().parameters.receiver}"
       }
    

    動的式を使用して、パイプライン内のイベントで役立つメッセージを生成します。 ここでの JSON 形式はロジック アプリで定義した JSON 形式と一致し、必要に応じてこれらもカスタマイズすることができます。

    Shows a pipeline with a Web activity configured with the logic app workflow URL and JSON message body.

  3. パイプライン デザイナーの背景領域を選択してパイプラインのプロパティ ページを選択し、receiver という新しいパラメーターを追加して、電子メール アドレスを [既定値] として指定します。

    この例では、任意に定義したパイプライン パラメーターから受信者の電子メールを指定します。 受信者の値は、任意の式から、またはリンクされたデータ ソースからも取得できます。

    Shows the configuration of the receiver parameter in the pipeline designer.

  4. パイプラインを公開してから手動でトリガーし、電子メールが想定どおり送信されることを確認します。

    Shows how to manually trigger the pipeline.

システム変数と式を使用して動的メッセージを追加する

システム変数を使用して、メッセージを動的にすることができます。 例:

  • @activity("CopyData").output.errors[0].Message

  • @activity("DataFlow").error.Message

上記の式では、エラーが発生したコピー アクティビティから関連するエラー メッセージが返されます。これを、電子メールを送信する Web アクティビティにリダイレクトすることができます。 詳細については、コピー アクティビティの出力のプロパティに関する記事を参照してください。

パイプラインから Teams 通知を送信する方法