Действие копирования фабрики данных Azure добавляет таблицу в приемник

У меня возникла проблема с действием копирования в Фабрике данных Azure. Установка следующая.

Источником первого действия по копированию данных является Salesforce. Он получает одну дату из запроса и записывает результат в таблицу Fabric Lakehouse. Для действия таблицы установлено значение «Перезаписать», что означает, что таблица никогда не будет увеличиваться и всегда будет перезаписываться только одна строка.

Второе действие копирования данных получает то же значение из таблицы и помещает его в другую таблицу Fabric Lakehouse с теми же настройками, что и первое. Однако этот добавляет таблицу, а не перезаписывает ее. Вот результат таблицы стока:

Кто-нибудь знает, почему здесь не работает «перезапись»?


60
2

Ответы:

Сначала попробуйте выполнить следующие шаги и проверьте, работает это или нет.

  • Это может быть связано с проблемой кэша, поскольку для отражения изменений настроек по умолчанию может потребоваться некоторое время. Сначала опубликуйте конвейер и закройте его. Откройте снова через некоторое время и проверьте, дает ли он тот же результат или нет.

  • Вместо динамических параметризованных наборов данных сначала проверьте, работает ли это с их отдельными наборами данных или нет.

  • Иногда это также может быть проблема с пользовательским интерфейсом. Итак, попробуйте изменить настройки в JSON конвейера. Перейдите к Pipeline JSON ({}) в правом верхнем углу, убедитесь, что значение равно Overwrite, и сохраните конвейер.

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

Вы можете проверить этот REST API, чтобы запустить блокнот из веб-активности ADF.


Решено

Похоже, это ошибка в Фабрике данных Azure. Когда я создаю новый конвейер всего с одним действием «Копировать данные» и настраиваю все, как я описал (чтение из одной таблицы, запись в другую и опцию «Перезаписать»), вот как выглядит полученный JSON. Он добавляет «OverwriteSchema» вместо «Overwrite». Я изменил его вручную в JSON, и теперь все работает как положено.

Теперь я вручную изменил «tableActionOption» на «Overwrite», и все работает как положено.