如何使 Azure 自动化 Runbook 失败?
How to fail an Azure Automation Runbook?
有什么方法可以使 Azure Automation Runbook 以 'Failed' 状态结束?即使引发异常,Runbook 仍以 'Complete' 状态结束。您可以进入状态为 "Complete" 的 Runbook 作业并查看抛出的异常。
但是,有没有一种方法可以显式使 Azure Runbook 失败,例如,如果您捕获异常并希望整个 Runbook 失败,那么状态将以 "Failed" 结束?
在catch
块中,需要再次使用throw
语句。
Runbook 中的示例代码:
try
{
$wc = new-object System.Net.WebClient
$wc.DownloadFile("http://www.contoso.com/MyDoc.doc")
}
catch
{
# explicitly use throw here
throw "I have some errors."
}
运行完成后,在作业状态:
我在所有 PowerShell 脚本中使用 $errorActionPreference = "Stop",包括 Azure Automation Runbook,否则正常的 PowerShell 处理 ("Continue") 将导致无法处理和报告错误。
有什么方法可以使 Azure Automation Runbook 以 'Failed' 状态结束?即使引发异常,Runbook 仍以 'Complete' 状态结束。您可以进入状态为 "Complete" 的 Runbook 作业并查看抛出的异常。
但是,有没有一种方法可以显式使 Azure Runbook 失败,例如,如果您捕获异常并希望整个 Runbook 失败,那么状态将以 "Failed" 结束?
在catch
块中,需要再次使用throw
语句。
Runbook 中的示例代码:
try
{
$wc = new-object System.Net.WebClient
$wc.DownloadFile("http://www.contoso.com/MyDoc.doc")
}
catch
{
# explicitly use throw here
throw "I have some errors."
}
运行完成后,在作业状态:
我在所有 PowerShell 脚本中使用 $errorActionPreference = "Stop",包括 Azure Automation Runbook,否则正常的 PowerShell 处理 ("Continue") 将导致无法处理和报告错误。