Скрипт предварительного копирования ADF для удаления перед загрузкой

#sql-server #azure-data-factory

Вопрос:

В операции копирования ADF,в precopyscript для базы данных приемника, возможно ли выполнить сценарий предварительного копирования только на основе определенного условия ? Пожалуйста, сообщите, есть ли такой вариант.

Комментарии:

1. Вы можете элаборатировать? Какое состояние вы ищете?

2. Это что-то вроде «если», когда мы проверяем, соответствует ли только определенный параметр, а затем выполняем сценарий предварительного копирования для удаления данных. Этим параметром может быть любой параметр конвейера или любые данные поиска, полученные на предыдущем шаге.

Ответ №1:

Вы можете использовать «добавить динамическое содержимое» в сценарии предварительного копирования, чтобы использовать язык выражений ADF для ввода логики в предварительное копирование. Например, используйте оператор IF.

Комментарии:

1. Хорошо, я попробую.

2. Я вижу, что «если» можно использовать для возврата значения на основе проверяемого условия, Можно ли использовать «если» для удаления из таблицы при выполнении определенного условия ? Если есть какой-нибудь пример, пожалуйста ?

Ответ №2:

Вы можете написать выражение в сценарии предварительного копирования в разделе Настройки приемника в Copy data действии.

  1. Это мои существующие данные в таблице. Здесь я хочу удалить записи с идентификатором территории=2, если условие соответствует copy data действию перед загрузкой новых данных.

введите описание изображения здесь

  1. Ниже приведено выражение для использования переменных конвейера в выражении и использования функции конкат в выражении для включения переменных в сценарий.

Сценарий предварительного копирования:

 @{concat('BEGIN
IF ( ',variables('value'),' = 10 ) 
  delete from [dbo].[sales]
  where convert(varchar,TerritoryID) = ', variables('ID'),';
END')}
 

введите описание изображения здесь

  1. Вывод: Существующие записи с идентификатором территории = 2 удалены, и были вставлены новые записи.

введите описание изображения здесь