#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 с активностью копирования данных.
По параметрам мы можем передавать имена таблиц для каждого действия.