我写了这个Azure PowerShell
脚本
$DataFactoryName = "BI-Dashboard-DataFactory-2"
$ResourceGroupName = "BI-Dashboard-ResourceGroup-2"
$ResourceGroup = Get-AzResourceGroup -Name $ResourceGroupName
# Write-Output $DataFactory.DataFactoryName
if(-not $ResourceGroup)
{
$ResourceGroup= New-AzResourceGroup $ResourceGroupName -location 'westeurope'
Write-Output " Resource Group Created Successfully "
}
else
{
# Resource Group Already Exists
Write-Output "Resource Group Exists"
}
$DataFactory = Get-AzDataFactoryV2 -Name $DataFactoryName -ResourceGroupName $ResourceGroup.ResourceGroupName
if (-not $DataFactory)
{
$DataFactory = Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroup.ResourceGroupName -Location $ResourceGroup.Location -Name $DataFactoryName
Write-Output " Data Factory Created Successfully "
}
else
{
Write-Output "Data Factory {0} Already Exists" -f $DataFactory.DataFactoryName
}
前一段时间,如果Resource
或Data Factory
不存在,则不会引发任何异常,它只是在if块中执行。
我已经创建了一个新的预订,并针对新的预订执行了相同的PowerShell
脚本,现在收到红色的异常以及if块的执行。我需要知道Azure Resource Manager
接受此PowerShell
显示错误消息的请求时是否有所更改,或者这不是问题。
答案 0 :(得分:0)
当资源组中不存在该资源时,您将收到此错误消息“ Get-AzDataFactoryV2:HTTP状态代码:未找到”。
该脚本首先查找资源组是否存在,然后将检查该资源组中是否存在数据工厂。
如果资源存在则给出结果,否则抛出错误消息。
示例:在我的名为chpradeep的资源组中,我有一个数据工厂名称“ chepra”。
案例1:(成功)如果运行以下cmdlet,则结果将由于资源组中存在名为chepra的数据工厂而引起。
Get-AzDataFactoryV2 -ResourceGroupName“ chpradeep”-名称chepra
情况2:(错误),如果我运行以下cmdlet,则会显示错误消息,因为资源组中不存在名为alpha的数据工厂。
Get-AzDataFactoryV2 -ResourceGroupName“ chpradeep”-名称alpha
希望这会有所帮助。