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

Azure Data Factory:如何将复制记录行数保存至ADLS Gen2或发送邮件通知

实现Azure Data Factory复制活动指标的存储与邮件通知

一、将rowsRead/rowsCopied保存到ADLS Gen2

要把复制活动的源端读取行数和目标端复制行数存到ADLS Gen2,核心是先提取活动输出的指标,再写入文件:

  • 步骤1:提取复制活动的指标数据
    复制活动执行完成后,可通过以下表达式获取对应数值:

    • 源端读取行数:@activity('你的复制活动名称').output.rowsRead
    • 目标端复制行数:@activity('你的复制活动名称').output.rowsCopied
      可额外拼接执行时间戳方便后续排查:@utcnow()
  • 步骤2:构建结构化内容
    用ADF表达式把指标拼成JSON格式(也可选择CSV),示例表达式:

    @json(concat('{"executionTime": "', utcnow(), '", "rowsRead": ', string(activity('你的复制活动名称').output.rowsRead), ', "rowsCopied": ', string(activity('你的复制活动名称').output.rowsCopied), ', "activityName": "你的复制活动名称"}'))
    
  • 步骤3:写入ADLS Gen2
    新建一个复制数据活动:

    • 数据源选择「Inline」,将上述表达式填入「Inline内容」,格式选JSON
    • 数据目标选择你的ADLS Gen2链接服务,设置文件路径(比如/copy-logs/),文件名用时间戳避免重复:@concat('copy-result-', replace(utcnow(), ':', '-'), '.json')
    • 把该活动的依赖设置为原复制任务,确保原活动成功后才执行写入操作

二、发送包含指标的邮件通知

如果要把指标通过邮件发送,需先配置邮件链接服务(Office 365或SMTP),再按以下步骤操作:

  • 步骤1:配置邮件链接服务
    在ADF的「链接服务」中新建「Office 365 Outlook」或「SMTP」链接服务,完成身份验证。

  • 步骤2:添加「发送邮件」活动
    在控制流里添加「发送邮件」活动,依赖原复制活动(仅原活动成功时触发):

    • 主题:用表达式动态填充,示例:
      @concat('复制活动执行完成:', activity('你的复制活动名称').output.rowsRead, '行读取,', activity('你的复制活动名称').output.rowsCopied, '行复制')
      
    • 正文:可格式化得更清晰,示例:
      @concat('<p>复制活动 <b>', activity('你的复制活动名称').name, '</b> 执行完成:</p>',
              '<ul>',
              '<li>源端读取行数:', string(activity('你的复制活动名称').output.rowsRead), '</li>',
              '<li>目标端复制行数:', string(activity('你的复制活动名称').output.rowsCopied), '</li>',
              '<li>执行时间:', utcnow(), '</li>',
              '</ul>')
      
    • 填写收件人邮箱,保存后即可在复制活动完成时自动发送邮件

额外提示

  • 可用「If Condition」活动判断原复制活动的执行状态(@activity('你的复制活动名称').status),分别处理成功和失败的情况(比如失败时发送错误通知)
  • 如果需要批量记录多个复制活动的指标,可将指标写入ADLS的同一个文件(追加模式),或存入Azure SQL数据库后再统一导出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:27:30