Public/New-SqlServerStoredProcedure.ps1
|
<#
.SYNOPSIS Creates a SQL Server stored procedure activity. .DESCRIPTION Creates an activity that invokes a stored procedure using the supplied linked service. Specify either a literal procedure name or an expression. .LINK https://abbgrade.github.io/PsDataFactory/docs/New-AdfSqlServerStoredProcedure.html .LINK https://learn.microsoft.com/en-us/rest/api/datafactory/pipelines/create-or-update?view=rest-datafactory-2018-06-01 .OUTPUTS System.Management.Automation.PSCustomObject. The stored procedure activity definition. .EXAMPLE New-AdfSqlServerStoredProcedure -Name 'RunProcedure' -LinkedServiceReference $linkedService -StoredProcedureName 'dbo.LoadData' Creates an activity that invokes the specified stored procedure. #> function New-SqlServerStoredProcedure { [CmdletBinding()] param ( # The activity name. [Parameter( Mandatory )] [ValidateNotNullOrEmpty()] [string] $Name, # The linked service reference used to connect to SQL Server. [Parameter( Mandatory )] [PSCustomObject] $LinkedServiceReference, # An expression that resolves to the stored procedure name. Used with the Expression parameter set. [Parameter( Mandatory, ParameterSetName='Expression' )] [string] $StoredProcedureExpression, # The literal stored procedure name. Used with the Name parameter set. [Parameter( Mandatory, ParameterSetName='Name' )] [string] $StoredProcedureName, # The activity timeout. Defaults to 12 hours. [Parameter()] [ValidateNotNullOrEmpty()] $Timeout = '0.12:00:00', # The activity dependencies. Defaults to an empty array. [Parameter()] $DependsOn = @() ) $activity = New-Activity -Name $Name -Type SqlServerStoredProcedure -Timeout:$Timeout -DependsOn:$DependsOn switch ($PSCmdlet.ParameterSetName) { Name { $activity.typeProperties | Add-Member storedProcedureName $StoredProcedureName } Expression { $activity.typeProperties | Add-Member storedProcedureName ([PSCustomObject] @{ value = $StoredProcedureExpression type = 'Expression' }) } Default { Write-Error "Unsupported ParameterSet $_" } } $activity | Add-Member linkedServiceName $LinkedServiceReference Write-Output $activity } |