AzSynapseTriggerDependencies.psm1
<#
.SYNOPSIS This Command provide the list of Pipelines that depend on the Trigger within Synapse. .DESCRIPTION This function provides the list of Pipelines that depend on the Trigger within Synapse. .PARAMETER WorkspaceName The WorkspaceName of Synapse .PARAMETER TriggerName The name of the Trigger in Synapse. .EXAMPLE Get-AzSynapseTriggerDependencies -WorkspaceName "<<WorkspaceName>>" Get-AzSynapseTriggerDependencies -WorkspaceName "<<WorkspaceName>>" -TriggerName "<<TriggerName>>" #> Function Get-AzSynapseTriggerDependencies { Param ( [Parameter(Mandatory=$true)] [string] $WorkspaceName , [Parameter(Mandatory=$false)] [string] $TriggerName ) $htDependee = @{} if(!$TriggerName) { $AllDependencies=Get-AzSynapseTrigger -workspacename $WorkspaceName } else { $AllDependencies=Get-AzSynapseTrigger -workspacename $WorkspaceName -Name $TriggerName } for($i=0; $i -lt $AllDependencies.Count ; $i++) { $TRDependantObjects=$AllDependencies[$i].properties.pipelines.pipelinereference.referencename if($TRDependantObjects.count -ne 0) { if ($htDependee.ContainsKey($AllDependencies[$i].Name)) { FOREACH($TRDep in $TRDependantObjects){ if ($htDependee[$AllDependencies[$i].Name] -notcontains $TRDep) { $htDependee[$AllDependencies[$i].Name] += $TRDep } } } else{ FOREACH($TRDep in $TRDependantObjects){ if ($htDependee[$AllDependencies[$i].Name] -notcontains $TRDep) { $htDependee[$AllDependencies[$i].Name] += ,$TRDep } } } } } for ($i=0;$i -lt $AllDependencies.Count ; $i++) { if($htDependee.ContainsKey($AllDependencies[$i].Name)) { write-host $AllDependencies[$i].Name 'has' $($htDependee[$AllDependencies[$i].Name]).Count 'Dependencies' Write-Host $AllDependencies[$i].Name "is used in" $($htDependee[$AllDependencies[$i].Name]) `n } else { write-host $AllDependencies[$i].Name "has no / 0 Dependency" `n } } } Export-ModuleMember -Function Get-AzSynapseTriggerDependencies |