我通过在 copydata 活动中参数化文件名来尝试上述问题,它正在复制名称为 2022、2023、2024 的空文件,如何解决此问题
首先创建
tenure
类型的
int
参数,并在管道参数部分中为其指定当前年份
2024
的默认值。现在,进行一个 For-Each 活动并给出以下表达式。
@range(sub(pipeline().parameters.tenure,2),3)
如果参数值为
[2022,2023,2024]
,这将生成一个
2024
数组。管道将迭代此数组,并在每次迭代中从每个源文件夹
2022
复制到目标文件夹
2022
。在 For-Each 内进行复制活动。对于复制活动源数据集,请在数据集中提供您的目标容器。对于剩余的目标位置路径,请在复制活动源中使用通配符文件路径。
对于复制活动的接收器,需要参数化数据集文件夹路径。创建一个字符串参数并在数据集的文件夹路径中使用它。
在复制活动接收器中,提供
@item()
作为此参数的值。
要从源中删除
tenure-3
文件夹,请在 for 循环后执行删除活动。使用源容器创建数据集并参数化数据集中的文件夹路径。给出管道中该参数的以下表达式。
@string(sub(pipeline().parameters.tenure,2))
这将给出如下结果,并将从源中删除
tenure-3
文件夹。