diff --git a/SamplesV2/PastRunDetails/PastRunDetails_ActivityLevelCSV.ps1 b/SamplesV2/PastRunDetails/PastRunDetails_ActivityLevelCSV.ps1 new file mode 100644 index 00000000..13c37b30 --- /dev/null +++ b/SamplesV2/PastRunDetails/PastRunDetails_ActivityLevelCSV.ps1 @@ -0,0 +1,38 @@ +$dataFactoryName = "" +$resourceGroupName = "" +$startTime = "1/12/2023 00:00:00" +$endTime = "1/13/2023 00:00:00" +$filePath = "C:\temp\adfouput.csv" + +$pipelineRuns = Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -LastUpdatedAfter $startTime -LastUpdatedBefore $endTime + +$activityDetails = @() + +foreach($pipelineRun in $pipelineRuns) { + + $activtiyRuns = Get-AzDataFactoryV2ActivityRun -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -pipelineRunId $pipelineRun.RunId -RunStartedAfter $startTime -RunStartedBefore $endTime + + foreach($activtiyRun in $activtiyRuns) { + if ($null -ne $activtiyRun.Output -and + $null -ne $activtiyRun.Output.SelectToken("billingReference.billableDuration")) { + + $billingReference = $activtiyRun.Output.SelectToken("billingReference.billableDuration").ToString() | ConvertFrom-Json + $activityBillingType = $activtiyRun.Output.SelectToken("billingReference.activityType").ToString() + + $activityDetails += @{ + meterType = $billingReference.meterType + duration = $billingReference.duration + unit = $billingReference.unit + activityBillingType = $activityBillingType + activityType = $activtiyRun.ActivityType.ToString() + activityName = $activtiyRun.ActivityName.ToString() + activityRunStart = $activtiyRun.ActivityRunStart.ToString() + pipelineRunId = $pipelineRun.RunId + pipelineName = $pipelineRun.PipelineName + dataFactoryName = $pipelineRun.DataFactoryName + } + } + } +} + +$activityDetails | Export-Csv -Path $filePath \ No newline at end of file diff --git a/SamplesV2/PastRunDetails/README.md b/SamplesV2/PastRunDetails/README.md index dd297d9b..589c42f2 100644 --- a/SamplesV2/PastRunDetails/README.md +++ b/SamplesV2/PastRunDetails/README.md @@ -1,7 +1,9 @@ -## Simple script that prints activity level run details in 45 day range +## PastRunDetails.ps1: Simple script that prints activity level run details in 45 day range -### This is useful for users who want to know which activity ran when for how many hours and corehours. The data can be used: +## PastRunDetails_ActivityLevelCSV.ps1: Script that outputs activity level run details to CSV + +### These are useful for users who want to know which activity ran when for how many hours and corehours. The data can be used: * To understand which activities ran for how long and corehours behind it * To build future consumption models from past runs