使用 Azure 数据工厂或 Azure Synapse 管道发送电子邮件
适用于:Azure 数据工厂 Azure Synapse Analytics
在执行管道期间或之后,通常需要发送通知。 通知提供主动警报并降低为发现问题所需的反应监视。 本文介绍如何在 Azure 数据工厂或 Azure Synapse 管道中配置电子邮件通知。
先决条件
- Azure 订阅。 如果没有 Azure 订阅,请在开始前创建一个试用帐户。
- 标准逻辑应用工作流。 若要从管道触发电子邮件发送,请使用 Azure 逻辑应用来定义工作流。 有关创建标准逻辑应用工作流的详细信息,请参阅创建示例标准逻辑应用工作流。
在逻辑应用中创建电子邮件工作流
创建名为 SendEmailFromPipeline
的标准逻辑应用工作流。 添加名为 When an HTTP request is received
的请求触发器,并添加名为 Send an email (V2)
的 Office 365 Outlook 操作。
在请求触发器中,为 Request Body JSON Schema
属性提供此 JSON:
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
工作流设计器中的请求触发器应如下所示:
对于“发送电子邮件 (V2)”操作,请使用请求正文 JSON 架构的属性来自定义如何设置电子邮件的格式:
保存工作流。 浏览到工作流的“概述”页。 记下工作流 URL(在下图中已突出显示):
注意
若要查找工作流 URL,你必须浏览到工作流本身,而不只是包含工作流的逻辑应用。 在逻辑应用实例的“工作流”页中,选择工作流,然后导航到工作流的“概述”页。
创建管道以触发逻辑应用工作流
创建用于发送电子邮件的逻辑应用工作流后,可以使用 Web 活动从管道触发该工作流。
创建新管道,并在“常规”类别下找到“Web”活动,并将其拖到编辑画布 。
选择新 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 格式匹配,还可以根据需要对其进行自定义。
选择管道设计器的背景区域来选择管道属性页面,并添加名为接收器的新参数,提供电子邮件地址作为其默认值。
在此示例中,我们将从我们任意定义的管道参数提供接收方电子邮件。 接收方值可以来自任何表达式,甚至是链接的数据源。
发布管道,然后手动触发,确认电子邮件已按预期方式发送。
使用系统变量和表达式添加动态消息
@activity("CopyData").output.errors[0].Message
@activity("DataFlow").error.Message
上述表达式将从复制活动失败中返回相关错误消息,然后这些错误消息可以重定向到发送电子邮件的 Web 活动。 有关详细信息,请参阅复制活动输出属性一文。