问题描述
我需要从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。
通过参数,我们可以将表名称传输到每个活动。