Ошибка ADF при попытке получить выходные сообщения

#error-handling #azure-data-factory

#обработка ошибок #azure-data-factory

Вопрос:

Во время выполнения я получил приведенную ниже ошибку.

 Error
{
    "errorCode": "BadRequest",
    "message": "Activity parent-control-sp failed: JSON text is not properly formatted. Unexpected character '"' is found at position 0.",
    "failureType": "UserError",
    "target": "Execute parent Pipeline"
}
  

Я хочу, чтобы приведенное ниже сообщение отображалось в таблице ошибок

Сбой родительского элемента управления-sp: текст JSON отформатирован неправильно. В позиции 0 обнаружен неожиданный символ ‘»‘.», «failureType»: «Ошибка пользователя», «target»: «Выполнить родительский конвейер» }

Я использовал @{activity('Activity parent-control-sp').error.message} . Отображается сообщение ниже

Текст в формате JSON отформатирован неправильно. В позиции 0 обнаружен неожиданный символ ‘»‘.», «failureType»: «Ошибка пользователя», «target»: «Выполнить родительский конвейер» }

Как получить верхнее сообщение?

Ответ №1:

Я полагаю, что вы пытаетесь использовать действие Execute Pipeline и на данный момент намереваетесь перехватить любую ошибку из дочернего действия. Я думаю, что приведенное ниже выражение должно вам помочь

@concat(действие (‘Pipeline1’).ошибка.сообщение, ‘Тип сбоя:’, действие (‘Pipeline1’).ошибка.Тип сбоя)

Ответ №2:

Ваше сообщение об ошибке не является JSON-сообщением, поэтому вы не можете использовать выражение ( @{activity('Activity parent-control-sp').error.message} ), чтобы получить то, что вы хотите

 Error  <<== Remove this firstly!!!
{
    "errorCode": "BadRequest",
    "message": "Activity parent-control-sp failed: JSON text is not properly formatted. Unexpected character '"' is found at position 0.",
    "failureType": "UserError",
    "target": "Execute parent Pipeline"
}
  

Этот код получит подстроку сообщения об ошибке, а затем вы можете использовать выражение.

 # the substring
@json(substring(
activity('xxx').error.message,
indexof(activity('xxx').error.message,'{'),
add(sub(lastindexof(activity('xxx').error.message,'}'),indexof(activity('xxx').error.message,'{')),1)
))
# get what you want
.message