Я настраиваю конвейер ADF для копирования BLOB-объектов в базу данных SQL Azure. У меня есть операция Итерации в моем конвейере, где я установил счетчик для цикла и копировать только при наличии большого двоичного объекта.
Это прекрасно работает, за исключением некоторых случайных нарушений ПК, которые мне придется проверять вручную. Поэтому я отредактировал свой конвейер, чтобы зарегистрировать ошибку, и продолжаю. Поэтому я настроил конвейер как таковой.
Если операция копирования завершается неудачно из-за нарушения первичного ключа, (на данный момент) игнорировать, но зарегистрировать детали с помощью хранимой процедуры и продолжить как обычно, т.е. обновить счетчик цикла, чтобы получить следующую папку.
К сожалению, success журнала Failure не выполняет действие «Установить переменную». Таким образом, он возвращается в бесконечном цикле, продолжая возвращаться с тем же исключением, но само действие «Хранимая процедура» правильно регистрирует сообщение об ошибке.
Если я создаю новую «Set Variable» и делаю именно то, что делает SetLoopVariable, похоже, все в порядке. но это означает, что я должен скопировать каждое действие после этого, чтобы иметь два отдельных пути. Что я считаю излишним.
ОБЩАЯ ИНФОРМАЦИЯ : Моя файловая структура - контейнер / ГГГГ / ММ / дд / ЧЧ / мм, будет по крайней мере один файл в час, но не для каждой минуты дня, поэтому я должен сделать проверьте, существует ли папка, прежде чем пытаться скопировать.