Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用powershell从azure数据工厂中的管道中删除触发器引用_Azure_Powershell_Pipeline_Azure Data Factory_Azure Data Factory 2 - Fatal编程技术网

使用powershell从azure数据工厂中的管道中删除触发器引用

使用powershell从azure数据工厂中的管道中删除触发器引用,azure,powershell,pipeline,azure-data-factory,azure-data-factory-2,Azure,Powershell,Pipeline,Azure Data Factory,Azure Data Factory 2,我有一个在azure数据工厂中关联了触发器的管道。我正在尝试使用powershell命令自动化azure data factory中的一些操作。在一个用例中,我被阻塞了 用例:用户更改了与触发器关联的管道名称。(这只是一个示例,实际上数据工厂中可能有许多管道/触发器,用户可以更改单个或多个管道) 触发器名称:TRG_Test1 管道名称:PL_Test1 所以TRG_Test1触发器连接到管道PL_Test1 要求:用户将名称从PL\u Test1更改为PL\u Test1\u Updated,

我有一个在azure数据工厂中关联了触发器的管道。我正在尝试使用powershell命令自动化azure data factory中的一些操作。在一个用例中,我被阻塞了

用例:用户更改了与触发器关联的管道名称。(这只是一个示例,实际上数据工厂中可能有许多管道/触发器,用户可以更改单个或多个管道)

触发器名称:TRG_Test1

管道名称:PL_Test1

所以TRG_Test1触发器连接到管道PL_Test1

要求:用户将名称从PL\u Test1更改为PL\u Test1\u Updated,关联的触发器应从管道中分离(移除),然后移除管道并使用新名称创建新管道,并附加(关联)相同的触发器

注意:触发器详细信息没有更改,只更改了管道详细信息

通过使用powershell解决方案,我能够识别哪个管道使用powershell脚本关联了哪个触发器但在移除管道之前,我无法分离管道。

错误:

无法删除该文档,因为它已被引用

Set-AzDataFactoryV2Trigger:当触发器从管道中分离并更改为影响管道中的触发器时,我正在使用此powershell命令

是否有任何powershell命令仅删除管道引用? 删除管道参考的任何替代/变通过程?

    ## Detach/Update the trigger
   Set-AzDataFactoryV2Trigger -ResourceGroupName $ADFDeployResourceGroupName -Name $triggerName -DataFactoryName $DataFactoryName -File /$triggerName.json" -Force
                                        
    ##Remove Pipeline
    #Remove-AzDataFactoryV2Pipeline -ResourceGroupName $ADFDeployResourceGroupName -Name $PipelineFileName -DataFactoryName $DataFactoryName -Force

如果要删除触发器中的管道引用,请参考以下代码

Connect-AzAccount


$sub=""
$groupName=""
$factoryName=""
$triggerName=""

Select-AzSubscription -Subscription $sub

$sw=Get-AzResource -ResourceId "/subscriptions/$sub/resourceGroups/$groupName/providers/Microsoft.DataFactory/factories/$factoryName/triggers/$triggerName“ -ExpandProperties


#remove the piplines reference
$pipName="Test" // the pipeline you want to remove
$sw.Properties.pipelines =($sw.Properties.pipelines -ne ($sw.Properties.pipelines|Where-Object{$_.pipelineReference.referenceName -eq $pipName}))

$s=Set-AzResource -ResourceId "/subscriptions/$sub/resourceGroups/$groupName/providers/Microsoft.DataFactory/factories/$factoryName/triggers/$triggerName“   -Properties $sw.Properties -Force 

非常感谢。你是冠军。工作得很好。