你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 数据工厂或 Azure Synapse 管道发送电子邮件

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

在执行管道期间或之后,通常需要发送通知。 通知提供主动警报并降低为发现问题所需的反应监视。  本文介绍如何在 Azure 数据工厂或 Azure Synapse 管道中配置电子邮件通知。 

先决条件

  • Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
  • 标准逻辑应用工作流。 若要从管道触发电子邮件发送,请使用 Azure 逻辑应用来定义工作流。 有关创建标准逻辑应用工作流的详细信息,请参阅创建示例标准逻辑应用工作流

在逻辑应用中创建电子邮件工作流

创建名为 SendEmailFromPipeline 的标准逻辑应用工作流。 添加名为 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.

注意

若要查找工作流 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. 选择管道设计器的背景区域来选择管道属性页面,并添加名为接收器的新参数,提供电子邮件地址作为其默认值。

    在此示例中,我们将从我们任意定义的管道参数提供接收方电子邮件。 接收方值可以来自任何表达式,甚至是链接的数据源。

    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 通知