У меня в конвейере два действия копирования. Первый выполняется нормально, а второй - неудачно. Когда я просматриваю выходные файлы для каждого из них для первого (успешного), я вижу элемент ошибок следующим образом
"errors": [],
что нормально, поскольку ошибок не произошло.
Для второго (который не удалось) я также вижу элемент ошибок, но у этого есть следующие элементы внутри:
"errors": [
{
"Code": 9013,
"Message": "Some text - erased for the simplicity"
"EventType": 0,
"Category": 5,
"Data": {},
"MsgId": null,
"ExceptionType": null,
"Source": null,
"StackTrace": null,
"InnerEventInfos": []
}
],
Эти 2 действия связываются в цепочку по завершении, и в конце есть действие IF, которое проверяет, есть ли ошибка для любого из действий копирования, и что-то делает, если действительно есть ошибка. Условие If True оценивается следующим образом (для второго действия)
@greaterOrEquals(length(activity('Second Copy Activity').output.errors),1)
Он работает нормально, что означает, что если вторая операция копирования не выполняется, это вызовет активность при истинном условии в активности IF и что-то сделает. Если действие второго копирования выполнено нормально, оно попадет в ложное состояние в действии IF (что нормально) и что-то сделает соответственно.
Мой вопрос связан с выражением @greaterOrEquals(length(activity('Second Copy Activity').output.errors),1)
, и что я на самом деле здесь проверяю - проверяю длину массива или длину строки? Поскольку у меня это работает нормально, я просто хочу быть уверен, что сообщаю другим правильную логику. Конечно, если кто-то думает, что я должен сделать это по-другому (то есть настроить другое динамическое выражение), это более чем приветствуется.
Заранее спасибо. С Уважением