gpt4 book ai didi

azure - 当将资源移动到其他订阅时发生错误时,SilentlyContinue 不起作用

转载 作者:行者123 更新时间:2023-12-03 04:55:31 24 4
gpt4 key购买 nike

我有订阅 A 中的资源组列表。例如:

$list = ("RG1","RG2","RG3","RG4","RG5")

我正在一一选择资源组并将它们移动到订阅 B。

脚本几乎一直工作正常,但有时在任何资源组中,如果任何资源因任何原因无法移动,则脚本会失败。由于我是一一选择资源组的,所以如果 RG2 发生错误,那么其余 3 个资源组(RG3、RG4、RG5)将不会被处理。

为了处理这个问题,我只需在脚本中添加 -ErrorAction SilentlyContinue ,以便脚本继续运行。例如:

Move-AzResource -ResourceId $Resource.ResourceId -DestinationSubscriptionId $destinationSubscriptionID -DestinationResourceGroupName $RG -Force -ErrorAction SilentlyContinue

下面是基本结构:

$list = ("RG1","RG2","RG3","RG4","RG5")
try
{
foreach($RG in $list)
{
Move-AzResource -ResourceId $Resource.ResourceId -DestinationSubscriptionId $destinationSubscriptionID -DestinationResourceGroupName $RG -Force -ErrorAction SilentlyContinue
}
}
catch
{
Write-Output "Catch Block !!!"
$_.Exception.Message
}

错误消息:

Catch Block !!!
ResourceMoveFailed : Resources '/subscriptions/b9aafef7-2451-4170-bdab-322f757f545d/resourceGroups/syncintegration/providers/Microsoft.Insights/components/syncintegration' move actions failed. The correlation Id is 'e3f823c0-a2ca-4c27-a005-13d189614a0c'
CorrelationId: c3d224fc-a1b3-4e32-840b-6c980c4af90f

预期:如果出现任何错误,则应忽略该错误并选择下一个资源组。如果它记录错误然后继续选择其他资源组,那就太好了。

最佳答案

这仍然是其他一些 azure-powershell 命令的已知问题。如果 Move-AzResource 存在同样的问题,您也可以通过添加 -Verbose 来解决该问题:

https://github.com/Azure/azure-powershell/issues/11384

如果没有,请确保您已更新模块。您可能想尝试在上面的链接上提出新问题。

另一个示例解决方法是在 Foreach 循环中捕获错误,以便在发生错误后继续:

foreach($RG in $list) {
Try { Move-AzResource -ResourceId $Resource.ResourceId -DestinationSubscriptionId $destinationSubscriptionID -DestinationResourceGroupName $RG -Force
Catch { $_.Exception.Message; Continue }
}

关于azure - 当将资源移动到其他订阅时发生错误时,SilentlyContinue 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69317338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com