Как вывести из строя модуль Runbook автоматизации Azure?

Есть ли способ сделать так, чтобы модуль Runbook автоматизации Azure заканчивался статусом «Сбой»? Даже при возникновении исключений модуль Runbook по-прежнему имеет состояние «Завершено». Вы можете перейти к заданию Runbook со статусом «Завершено» и увидеть возникшие исключения.

Однако есть ли способ явно вывести из строя модуль Runbook Azure, например, если вы перехватили исключение и хотите, чтобы весь модуль Runbook завершился сбоем, чтобы статус закончился как «Failed»?


person Birdman    schedule 13.09.2019    source источник


Ответы (2)


В блоке 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."
}

После завершения работы в статусе задания:

введите здесь описание изображения

person Ivan Yang    schedule 13.09.2019

Я использую $ errorActionPreference = "Stop" во всех сценариях PowerShell, включая модули Runbook для автоматизации Azure, в противном случае нормальная обработка PowerShell ("Продолжить") приведет к тому, что ошибки не будут обрабатываться и сообщаться.

person Badajoz95    schedule 21.05.2020