Как отфильтровать данные о последнем успешном запуске триггера в ADF (фабрика данных Azure) V2 в операции копирования (NoSQL to SQL)? - PullRequest
0 голосов
/ 14 октября 2019

У меня есть пипенин ADF, который выполняет только копирование из базы данных Cosmos Mongo и копирование на SQL Server. В настоящее время я усекаю таблицу каждый раз, когда запускается конвейер, затем копирую все данные. Но теперь я хочу добавить фильтрацию по одному полю скажем (lastModifiedTime) и сравнить с последним успешным запуском триггера.

Может кто-нибудь предложить мне выражение, которое можно использовать здесь, чтобы поместить его в качестве фильтра в источнике дляинкрементные обновления?

Я полностью хочу избежать усечения таблиц в сценарии предварительного копирования.

1 Ответ

0 голосов
/ 21 октября 2019

На основе инкрементного копирования данных в АПД разъем MongoDB пока не поддерживается. Мой обходной путь - добавление внешней статической переменной для хранения каждого конечного времени конвейера.

Step1- Добавление действия функции Azure после действия копирования. Если операция копирования выполняется успешно, передайте время окончания выполнения в функцию Azure в качестве параметров. Например, utcnow(): https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#date-functions

Step2- Внутри метода функции Azure сохраните time в каком-то месте, к которому можно будет получить доступ позже, напримерХранилище BLOB-объектов.

Шаг 3- При следующем запуске триггера получите последнее время выполнения с помощью Просмотр активности из хранилища BLOB-объектов до операции копирования иустановите его в установите переменную активность , чтобы вы могли использовать ее на следующем шаге.

Step4- Добавить условие фильтра в исходном наборе данных MongoDB со значением заданной переменной деятельности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...