You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Logical App中为特定Pipeline从Blob Storage发送指定邮件附件?

在Logic App中实现按Pipeline匹配Blob文件并发送邮件附件的方案

核心思路

通过触发事件关联Pipeline名称,再根据名称匹配对应Blob文件,最后发送带附件的邮件通知。以下是具体实现步骤:


步骤1:配置触发源

根据场景选择合适的触发器:

  • Azure Data Factory Pipeline触发:使用Azure Data Factory - 当管道运行成功时触发器,关联你的ADF实例,精准捕获目标Pipeline的完成事件。
  • 定时触发:若需周期性检查Pipeline状态,使用Recurrence触发器,后续添加Azure Data Factory - 获取管道运行动作筛选目标Pipeline的运行记录。

步骤2:按Pipeline名称匹配文件

用逻辑控制分支区分不同Pipeline的处理逻辑:

  • 选择条件控制动作,设置判断规则:@{triggerBody()?.PipelineName}(或获取管道运行动作返回的Pipeline名称字段)等于目标名称(如Transaction pipeline)。
  • 为Master pipeline、Invoice pipeline分别添加对应条件分支;或使用开关控制动作(更简洁),以Pipeline名称为开关值,每个Case对应一个Pipeline的处理流程。

步骤3:获取对应Blob文件内容

在每个分支/Case中添加Azure Blob Storage - 获取 blob 内容动作:

  • 配置你的存储账户、目标容器。
  • 在Blob 路径中填写对应文件名:Transaction分支填TRANSACTOIN.xlsx,Master分支填MASTER.xlsx,Invoice分支填INVOICE.xlsx。
  • 勾选包含内容字节选项,确保能将文件内容作为附件传递。

步骤4:发送带附件的邮件

添加邮件发送动作(以Office 365 Outlook为例):

  • 选择Office 365 Outlook - 发送电子邮件动作,配置收件人、邮件主题(可动态插入Pipeline名称:@{triggerBody()?.PipelineName} 运行完成通知)、正文。
  • 在附件区域点击添加,设置:
    • 附件名称:直接填写对应文件名(如TRANSACTOIN.xlsx)。
    • 附件内容:选择上一步获取 blob 内容动作输出的内容字段。

可选优化

  • 文件存在校验:在获取Blob内容前添加Azure Blob Storage - 获取 blob 元数据动作,若返回错误(文件不存在),则在分支中发送"文件未找到"的提醒邮件,避免流程失败。
  • 统一变量管理:提前创建变量存储Pipeline与文件名的映射关系,后续通过表达式@{variables('FileMapping')[triggerBody()?.PipelineName]}直接获取对应文件名,减少重复配置。

内容的提问来源于stack exchange,提问作者Rohit Kulkarni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:25:30