Сохраняются ли переменные конвейера между прогонами? - PullRequest
1 голос
/ 05 марта 2020

Я делаю простой поток данных между двумя космическими БД. Конвейер начинается с потока данных, который захватывает переменную конвейера "LastPipelineStartTime" и передает этот параметр в поток данных для запроса, который будет использоваться для получения всех новых данных, где c ._ ts> = "LastPipelineStartTime". Затем, при успешном выполнении потока данных, обновляет переменную через Set Variable для pipe.TriggerTime (). По сути, поэтому я всегда собираю новые данные между запусками конвейера.

Мой вопрос: похоже, что переменная во время каждого прогона отладки возвращается к своему значению по умолчанию, равному 0, и вместо этого захватывает все каждый раз. Я неправильно понимаю или неправильно использую переменные конвейера? Спасибо!

1 Ответ

0 голосов
/ 05 марта 2020

Как я знаю, переменная, которая установлена ​​в Set Variable Activity, имеет свой собственный жизненный цикл: во время текущего выполнения конвейера. Любое изменение переменной не может сохраняться до следующего этапа выполнения.

Для реализации Ваши потребности, пожалуйста, обратитесь к моим временным решениям, как показано ниже:

1.Если вы выполняете конвейер ADF в расписании, вы можете просто передать время расписания в качестве параметра, чтобы убедиться, что вы получаете новые данные.

2.Если частота является случайной, сохраните время запуска в другом месте (например, в простом файле в хранилище больших двоичных объектов), перед активностью потока данных используйте LookUp Activity, чтобы извлечь это время из хранилища больших двоичных объектов. файл.

...