我需要从 Azure 上的 PostgreSQL 复制一个数据库。我想在 ADF 中执行此操作。在我指定源数据库和目标数据库时的复制数据活动中,ADF 还希望我指定表名。当我想复制大约有 100 个表的数据库时,这没有任何意义。我在动态条件下尝试了通配符 *,我试图将表名留空。
我真的需要为每个表创建每个 copydata 活动吗?
我需要从 Azure 上的 PostgreSQL 复制一个数据库。我想在 ADF 中执行此操作。在我指定源数据库和目标数据库时的复制数据活动中,ADF 还希望我指定表名。当我想复制大约有 100 个表的数据库时,这没有任何意义。我在动态条件下尝试了通配符 *,我试图将表名留空。
我真的需要为每个表创建每个 copydata 活动吗?
我已经找到了这个问题的解决方案。
我们需要两个管道(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。
通过参数,我们可以将表名传递给每个活动。