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

ADF管道运行日志存入表:需记录信息与实现方法咨询

一、ADF管道运行日志需记录的核心信息
  • 管道基础标识:管道名称、管道ID(唯一标识)、运行ID(每次运行的唯一ID,ADF自带)
  • 运行时间维度:管道启动时间、结束时间、总运行时长(通过结束时间减启动时间计算)
  • 状态信息:运行状态(成功/失败/取消/运行中)、失败时的错误代码、错误详细描述
  • 数据链路信息:源文件完整路径、源文件名、源文件大小、目标Power BI数据集名称/所属工作区ID
  • 触发上下文:触发方式(手动/调度/事件触发)、触发者(手动触发的用户名)、批次标识(批量处理时标记同批次运行)
  • 关键活动详情:各核心活动(如文件拾取、数据转换、Power BI推送)的名称、状态、起止时间、处理记录数(若有)
二、实现日志记录的具体步骤

1. 准备日志存储表

在Azure SQL Database或Synapse Serverless SQL池中创建日志表,以下是DDL示例:

CREATE TABLE ADFPipelineLogs (
    LogID INT IDENTITY(1,1) PRIMARY KEY,
    PipelineName NVARCHAR(255),
    PipelineID UNIQUEIDENTIFIER,
    RunID UNIQUEIDENTIFIER,
    StartTime DATETIME,
    EndTime DATETIME,
    DurationSeconds INT,
    RunStatus NVARCHAR(50),
    ErrorCode NVARCHAR(100),
    ErrorMessage NVARCHAR(MAX),
    SourceFilePath NVARCHAR(500),
    SourceFileName NVARCHAR(255),
    SourceFileSize BIGINT,
    TargetPBIDataset NVARCHAR(255),
    TriggerType NVARCHAR(50),
    TriggeredBy NVARCHAR(255),
    BatchID NVARCHAR(100),
    ActivityDetails NVARCHAR(MAX) -- 存储JSON格式的活动详情
);

2. 在ADF管道中嵌入日志逻辑

(1)初始化动态变量

在管道内创建变量,比如var_SourceFilePath、var_SourceFileName、var_BatchID,用来存储过程中需要记录的动态值。

(2)写入启动日志

在管道开头添加存储过程活动(连接到日志数据库),写入管道启动的基础信息:

  • 用ADF系统变量填充:@pipeline().PipelineName、@pipeline().PipelineId、@pipeline().RunId、@pipeline().TriggerType、@pipeline().TriggeredBy,启动时间用@utcnow()
  • 运行状态设为Running

(3)捕获运行结果与错误

利用ADF的分支逻辑处理不同运行结果:

  • 管道成功运行时,在末尾添加存储过程活动,更新日志表的EndTime为@utcnow(),计算DurationSeconds为DATEDIFF(second, StartTime, EndTime),状态改为Succeeded,同时填充源文件、目标Power BI等信息。
  • 管道失败时,在失败分支中添加存储过程活动,更新结束时间、时长,状态设为Failed,通过@activity('出错活动名称').Error.Code和@activity('出错活动名称').Error.Message捕获错误信息。

(4)记录核心活动详情

对于文件处理、Power BI推送等关键活动,可在活动完成后单独写入日志,或把多个活动的输出转换为JSON字符串,最终存入ActivityDetails字段。例如用@string(activity('复制文件').Output)获取活动输出,转成JSON格式存储。

3. 处理Power BI推送的专属信息

如果使用ADF的「Power BI数据集」活动,直接通过@activity('推送Power BI').Output获取数据集刷新状态、刷新ID等信息,写入日志表对应字段即可。

4. 测试验证

手动触发管道,检查日志表是否正确写入所有信息;模拟错误场景(如源文件不存在),确认错误信息是否被准确捕获。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:15:29