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

如何访问ADF门户活动指标及通过PowerShell获取切片记录数与时长

问题解决方案

1. 访问Azure门户中“Activity Metric Image”的活动运行指标

你可以按照以下步骤在Azure门户中查看活动的运行指标:

  • 登录Azure门户,找到你的Azure Data Factory实例并进入。
  • 在左侧导航栏选择Monitor(监控)选项。
  • 在监控页面顶部切换到Metrics(指标)标签。
  • 点击Metric下拉菜单,选择你需要查看的具体指标,比如:
    • Rows copied(复制的记录数,对应插入记录总数)
    • Duration(活动运行时长)
    • Success rate(成功率)等
  • 可以通过Filter(筛选器)选择特定的Pipeline(管道)、Activity(活动)或Dataset(数据集)来缩小范围,也可以调整时间范围匹配你的每周调度周期。
  • 页面会自动生成可视化的指标图表,也就是你提到的“Activity Metric Image”,支持切换图表类型、导出数据等操作。

2. 通过PowerShell获取切片的插入记录总数及运行时长

你现有的代码已经能获取切片列表,但切片对象本身并不直接存储插入记录数——这些数据其实保存在对应的**活动运行实例(Activity Run)**中。下面是修改后的代码,会关联每个切片到对应的活动运行,提取你需要的指标:

# 初始化变量
$slices = @()
$auditResults = @()

# 配置参数
$DataFactoryName = "Your Data Factory Name"
$resourceGroupName = "Your Resource Group Name"
$startDateTime = "2018-01-07" # 切片开始日期
$endDateTime = "2018-01-14"   # 切片结束日期

# 获取所有数据集名称
$tableNames = Get-AzureRMDataFactoryDataset -DataFactoryName $DataFactoryName -ResourceGroupName $resourceGroupName | ForEach-Object {$_.DatasetName}

foreach ($tableName in $tableNames) {
    # 获取当前数据集的所有切片
    $tempSlices = Get-AzureRMDataFactorySlice -DataFactoryName $DataFactoryName -DatasetName $tableName `
        -StartDateTime $startDateTime -EndDateTime $endDateTime `
        -ResourceGroupName $resourceGroupName -ErrorAction Stop
    
    foreach ($slice in $tempSlices) {
        # 查找该切片对应的活动运行(以Copy活动为例,可根据实际活动类型调整)
        $activityRuns = Get-AzureRMDataFactoryActivityRun -DataFactoryName $DataFactoryName `
            -ResourceGroupName $resourceGroupName `
            -RunStartedAfter $slice.SliceStart.AddMinutes(-10) ` # 留10分钟缓冲确保覆盖运行时间
            -RunStartedBefore $slice.SliceEnd.AddMinutes(10) `
            -ActivityType "Copy" ` # 替换为你的实际活动类型,比如"SqlServerStoredProcedure"等
            -DatasetName $tableName

        foreach ($run in $activityRuns) {
            # 从活动运行的Output中提取插入记录数和运行时长
            $rowsCopied = $run.Output.RowsCopied
            $duration = $run.Duration

            # 收集审计信息
            $auditRecord = [PSCustomObject]@{
                DatasetName = $tableName
                SliceStart = $slice.SliceStart
                SliceEnd = $slice.SliceEnd
                SliceStatus = $slice.Status
                ActivityRunId = $run.RunId
                RowsInserted = $rowsCopied
                RunDurationSeconds = $duration
                RunStatus = $run.Status
            }

            $auditResults += $auditRecord
        }

        $slices += $slice
    }
}

# 输出审计结果(也可以导出到CSV:$auditResults | Export-Csv -Path "ADF_Slice_Audit.csv" -NoTypeInformation)
$auditResults

关键说明:

  • 活动类型匹配:代码中默认用了ActivityType "Copy",如果你的切片是由其他活动(比如存储过程、数据流等)生成的,需要修改为对应的活动类型(比如"ExecutePipeline"、"DataFlow")。
  • 时间范围缓冲:设置RunStartedAfter和RunStartedBefore时添加了10分钟缓冲,避免因为调度延迟导致漏查活动运行,你可以根据实际情况调整这个时间。
  • Output属性解析:不同活动的Output结构不同,比如Copy活动的RowsCopied是直接可用的属性,如果是自定义活动,可能需要从Output的JSON结构中提取对应字段(比如用$run.Output.MyCustomRowCount)。
  • 审计导出:最后可以将$auditResults导出为CSV文件,方便长期维护审计记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:37:12