Get-AzDataFactoryV2:HTTP 状态代码:NotFound

Get-AzDataFactoryV2 : HTTP Status Code: NotFound

我写了这个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 
 }

前一段时间,如果 ResourceData Factory 不存在,它不会抛出任何异常,它只是在块中执行。

我创建了一个新订阅并针对新订阅执行了相同的 PowerShell 脚本,现在收到红色异常以及 if 块的执行。我需要知道 Azure Resource Manager 在接受此 PowerShell 请求以显示错误消息时是否发生了某些更改,或者这不是问题。

当资源组中不存在该资源时,您将收到此错误消息 "Get-AzDataFactoryV2 : HTTP Status Code: NotFound"。

脚本首先查找资源组是否存在,然后它会检查资源组中是否存在数据工厂。

如果资源存在则给出结果,否则抛出错误信息。

示例: 在我名为 chpradeep 的资源组中,我有一个数据工厂名称 "chepra".

案例 1:(成功)如果我 运行 下面的 cmdlet 给出了结果,因为资源组中存在名为 chepra 的数据工厂。

Get-AzDataFactoryV2 -ResourceGroupName "chpradeep" -Name chepra

案例 2:(错误)如果我 运行 下面的 cmdlet 给出错误消息,因为资源组中不存在名为 alpha 的数据工厂。

Get-AzDataFactoryV2 -ResourceGroupName "chpradeep" -Name alpha

希望对您有所帮助。