Azure Get-AzDataFactoryV2:HTTP状态代码:NotFound

Azure Get-AzDataFactoryV2:HTTP状态代码:NotFound,azure,powershell,azure-data-factory,azure-powershell,azure-data-factory-2,Azure,Powershell,Azure Data Factory,Azure Powershell,Azure Data Factory 2,我写了这个Azure PowerShell脚本 一段时间以前,若资源或数据工厂不存在,它不会抛出任何异常,它只会执行if块。 我已经创建了一个新订阅,并针对新订阅执行了相同的PowerShell脚本,现在收到红色的异常以及执行if块。我需要知道Azure资源管理器在接受此PowerShell请求以显示错误消息时是否更改了某些内容,或者这不是问题。当资源组中不存在该资源时,您将收到此错误消息Get-AzDataFactoryV2:HTTP状态代码:NotFound 脚本首先查找资源组是否存在,然

我写了这个Azure PowerShell脚本

一段时间以前,若资源或数据工厂不存在,它不会抛出任何异常,它只会执行if块。


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

当资源组中不存在该资源时,您将收到此错误消息Get-AzDataFactoryV2:HTTP状态代码:NotFound

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

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

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

案例1:如果运行下面的cmdlet,则会显示结果,因为资源组中存在名为chepra的数据工厂

Get-AzDataFactoryV2-ResourceGroupName chpradeep-Name chepra

案例2:如果运行以下cmdlet,则会出现错误消息,因为资源组中不存在名为alpha的数据工厂

Get-AzDataFactoryV2-ResourceGroupName chpradeep-Name alpha


希望这有帮助。

是否可以在不显示这些红色错误消息的情况下处理此异常。因为当我按照相同的流程创建自托管集成运行时。它不会显示错误消息,即使在进一步调查后它不存在。此红色是Azure PowerShell的默认行为,被归类为非终止错误,可以通过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 
 }