我正在处理一个问题陈述,我需要使用Azure数据工厂(ADF)的复制活动将所有容器沿着数据从一个Azure存储帐户复制到另一个。但是,我还没有找到任何资源说明我们可以使用ADF的复制活动来实现这一点。我想知道是否有可能完成这项任务。如果是的话,又如何能做到呢?我发现我们可以通过使用AzCopy来实现它。但是,如果有可能使用Copy活动完成此任务,我想知道如何完成。
nue99wik1#
如果您使用的是ADLS Gen2存储帐户,您可以使用复制活动尝试以下方法。为源存储帐户和目标存储帐户取两个二进制数据集,并且在数据集中不给予任何文件路径。给予这些复制活动源和接收器。在Source中,使用通配符路径,如下所示。
在Sink中,将Copy行为设置为Preserve hierarchy,将文件复制到与源相同层次的目标。
Preserve hierarchy
我的源存储账户容器:
容器复制到目标存储账户:
**注意:在这种方法中它会忽略空容器和空文件夹(没有文件)**在复制时。
如果您使用的是Blob存储帐户,则使用REST API使用Web Activity列出源存储帐户中的容器名称。将此列表提供给ForEach activity,在ForEach内部,使用源(源存储帐户数据集)和接收器(目标存储帐户)的复制活动。在每次迭代中给予容器名称@item(),它将在ForEach活动结束时将所有容器复制到目标。
@item()
1条答案
按热度按时间nue99wik1#
如果您使用的是ADLS Gen2存储帐户,您可以使用复制活动尝试以下方法。
为源存储帐户和目标存储帐户取两个二进制数据集,并且在数据集中不给予任何文件路径。
给予这些复制活动源和接收器。在Source中,使用通配符路径,如下所示。
在Sink中,将Copy行为设置为
Preserve hierarchy
,将文件复制到与源相同层次的目标。我的源存储账户容器:
容器复制到目标存储账户:
**注意:在这种方法中它会忽略空容器和空文件夹(没有文件)**在复制时。
如果您使用的是Blob存储帐户,则使用REST API使用Web Activity列出源存储帐户中的容器名称。
将此列表提供给ForEach activity,在ForEach内部,使用源(源存储帐户数据集)和接收器(目标存储帐户)的复制活动。
在每次迭代中给予容器名称
@item()
,它将在ForEach活动结束时将所有容器复制到目标。