#azure #azure-data-factory
#лазурь #azure-фабрика данных
Вопрос:
У меня есть поток данных, который выполняет следующее:
Установка даты на сегодняgt;Копировать из API во временную таблицуgt;gt;Идентификатор поиска в исходной таблицеgt;gt;gt;Идентификатор поиска во временной таблице по исходной таблице для передачи только значений дедупликацииgt;gt;gt;gt;Для каждого идентификатора, прошедшего проверку дедупликацииgt;gt;gt;gt;gt;Задача копирования в ForEach, которая последовательно выбирает каждый идентификатор из второго поиска и сохраняет данные API в SQL Azure.
У меня работает вся моя логика, за исключением последней задачи-использовать оператор select = для идентификатора поиска DeDupe:
Задача копирования в каждой сборке текущего элемента
Ввод для задачи копирования каждой последовательности
Вывод для задачи копирования каждой последовательности
Обратите внимание, что на последних изображениях входные данные генерируют имя столбца вместо простого значения в инструкции SQL. Как мне предотвратить это, чтобы я мог передать в инструкцию SQL только значение, которое уже определено в литералах? Идея здесь состоит в том, чтобы выводить значения при каждом запуске, так как это будет написано по сценарию для поиска данных о резервировании в будущем.
Ответ №1:
Добавьте имя столбца вместе с текущим элементом в действие копирования, например @item().UID
, и используйте concat()
функцию для объединения текущего элемента со строковым значением, как показано ниже.
Вывод поиска:
Копирование запроса источника активности данных внутри действия ForEach:
@concat('select * from tb1 where id = ',item().id)
Копирование входных данных источника данных: