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

ADF流程错误日志邮件需求:推送缺失文件详情通知

在Azure Data Factory中实现带缺失文件详情的错误日志邮件

需求拆解

流程通过字符串参数ProcessScope(可选值ALL/some)控制文件处理范围:

  • 选ALL时,检查全量4个文件(1.txt、2.txt、3.txt、4.txt),邮件反馈缺失的文件
  • 选some时,检查指定文件(需提前传入逗号分隔的文件名列表),邮件反馈该范围内的缺失文件

分步实现方案

1. 配置流程参数

  • 创建字符串参数ProcessScope,限定可选值为ALL和some(注意逻辑中大小写要统一匹配)
  • 针对some场景,新增字符串参数TargetFiles,格式为逗号分隔的文件名(例如1.txt,4.txt)

2. 获取文件夹现有文件列表

  • 添加Get Metadata活动,关联目标存储的数据集,勾选Child items字段
  • 新建数组变量ExistingFiles,赋值为:@activity('Get Metadata').output.childItems.name,以此获取当前文件夹所有文件的名称集合

3. 生成待检查的文件数组

  • 用Set Variable活动创建数组变量ExpectedFiles,根据参数分支赋值:
    • 当ProcessScope为ALL:直接赋值全量文件数组 @createArray('1.txt','2.txt','3.txt','4.txt')
    • 当ProcessScope为some:拆分TargetFiles参数为数组 @split(variables('TargetFiles'),',')

    可选优化:若担心输入有空格,可先去除空格再拆分:@split(replace(variables('TargetFiles'),' ',''),',')

4. 筛选缺失文件

  • 添加Filter活动,输入数据源选择ExpectedFiles变量,筛选条件设为:
    @not(contains(variables('ExistingFiles'), item()))
    

    若文件名大小写不敏感,可统一转小写匹配:@not(contains(toLower(variables('ExistingFiles')), toLower(item())))

  • 将筛选结果(缺失文件数组)存入变量MissingFiles

5. 触发错误邮件

  • 添加If Condition活动,判断条件为:@greater(length(variables('MissingFiles')),0)
    • 条件成立时,调用Send Email活动,邮件正文拼接缺失文件列表:
      示例正文:以下文件缺失,请核查:<br>@join(variables('MissingFiles'), '<br>')
    • 条件不成立时,可跳过邮件或发送处理完成通知(按需配置)

内容的提问来源于stack exchange,提问作者Avenue Guy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:30:50