Как я могу скопировать всю схему / базу данных в конвейер фабрики данных Azure?

Мне нужно скопировать одну базу данных из моего PostgreSQL в Azure. Я хочу сделать это в ADF. При копировании данных, когда я указываю исходную и целевую базы данных, ADF хочет, чтобы я также указывал имя таблицы. Это не имеет никакого смысла, когда я хочу скопировать базу данных, содержащую около 100 таблиц. Я пробовал использовать подстановочный знак * в динамических условиях, и я пытался оставить имя таблицы пустым.

Мне действительно нужно создавать каждое действие копирования данных для каждой таблицы?


person Dominik Maciejewski    schedule 23.10.2020    source источник


Ответы (1)


Я нашел решение этого вопроса.

Нам нужны два конвейера (get_tables и copy_tables)

Сначала создайте конвейер get_tables. Выберите все таблицы из своей БД поисковым запросом

select table_schema,table_name from information_schema.tables where table_schema = 'schema'

После этого переместите вывод в конвейер copy_tables.

В конвейере copy_tables создайте for_each с активностью копирования данных.

По параметрам мы можем передать имена таблиц каждому действию.

person Dominik Maciejewski    schedule 23.10.2020