通过Powershell任务使用发布管道自动执行Azure Data Factory触发器

时间:2019-09-18 07:11:30

标签: powershell azure-pipelines-release-pipeline release-management azure-data-factory-2

我是DevOps的新手,我试图使用Powershell在部署时更改Azure数据工厂中Azure数据工厂触发器的开始时间和结束时间属性。

我找到了这个link,并尝试在PowerShell中进行操作。当我在命令下运行时,出现以下错误。

PS C:\> Set-AzDataFactoryV2Trigger -ResourceGroupName "ADF" -DataFactoryName "WikiADF" -Name "ScheduledTrigger" -DefinitionFile ".\scheduledTrigger.json"

Set-AzureRmDataFactoryV2 : The term 'Set-AzureRmDataFactoryV2' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:1 char:16
+ $DataFactory = Set-AzureRmDataFactoryV2 -ResourceGroupName $ResGrp.Re ...
+                ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (Set-AzureRmDataFactoryV2:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

我搜索了此问题,发现此问题是Microsoft official github account

中的错误

如果有人能够解决此问题或已经解决,请帮助我。

注意:Azure DataFactory触发器标签在StackOverflow中不可用,因此我无法添加它。

2 个答案:

答案 0 :(得分:1)

非常同意尼克的观点:

  

任何时候看到“ xyz”一词都不会被识别为   Powershell中的cmdlet,表示您尚未安装模块。

实际上,在您的问题中,该错误也是由该原因引起的。我认为您不应该为Powershell安装Az模块。

Az模块是Azure PowerShell cmdlet的汇总模块。安装它可以下载所有可用的Azure资源管理器模块,包括您正在使用的Set-AzDataFactoryV2Trigger,并使其cmdlet可供使用。

尝试使用以下命令为您的Powershell安装Az模块:

Install-Module -Name Az -AllowClobber -Scope CurrentUser

enter image description here

由于默认情况下,PowerShell库未配置为PowerShellGet的受信任存储库,因此,第一次使用PSGallery时,系统会显示提示,您需要确保您想从PSGallery获得Az模块。只需对全部回答“是”或“是”就可以了。

然后,您可以执行以下命令来检查Az模块:

 Get-InstalledModule -Name Az

当您看到以下消息时,表明Powershell中存在Az模块:

enter image description here

现在,再试一次此link,它将成功。

答案 1 :(得分:0)

您似乎在发布管道中使用PowerShell任务而不是Azure PowerShell任务(https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-powershell?view=azure-devops)。

如果使用Azure PowerShell任务,则不会有任何问题。