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

#azure #azure-data-factory #azure-data-factory-pipeline #azure-postgresql

#azure #azure-data-factory #azure-data-factory-pipeline #azure-postgresql

Вопрос:

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

Действительно ли мне нужно создавать каждое действие copydata для каждой таблицы?

Ответ №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 с активностью копирования данных.

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