【问题标题】:Copy most recent file only from one blob to another using Azure Data Factory使用 Azure 数据工厂仅将最新文件从一个 blob 复制到另一个
【发布时间】:2021-05-06 21:29:02
【问题描述】:

我正在尝试使用 ADF 将格式为“filename_yyyymmdd”的文件集中的最新文件从一个容器复制到另一个容器。我想从这些文件集中复制一个文件。

我们怎样才能做到这一点?

【问题讨论】:

    标签: azure-blob-storage azure-data-factory azure-data-factory-2


    【解决方案1】:

    请试试这个:

    1.创建两个变量并将latestFile的值设置为filename_19700101。

    2.使用GetMetadata活动获取子项。

    3.使用ForEach活动循环子项并检查顺序选项。表达式:

    @activity('Get Metadata1').output.childItems
    

    4.将currentFile的值设置为@item().name

    5.使用If condition活动通过这个表达式比较日期:

    @greater(split(variables('currentFile'),'_')[1],split(variables('latestFile'),'_')[1])
    

    1. 在 True 情况下,设置 latestFile 值。

    7.最后,将@variables('latestFile') 传递到Copy 活动中数据集中的文件路径

    【讨论】:

    • 您好史蒂夫,感谢您的回复。我试图实现这一点,但复制数据活动正在中止,因为 @variable('latetsFile') 正在发出警告。如何在复制活动中使用变量的值?
    • @SHIVAMYADAV 是的,它会发出警告,但它可以正常工作。您可以尝试运行它。
    • 嗨史蒂夫,@greater(split(variables('currentFile'),'')[1],split(variables('latestFile'),'')[ 1]) 将返回数组,我得到“数组索引 '1' 超出数组边界 (0, 0)”错误
    • @SHIVAMYADAV 你失去了_ 字符,请使用这个表达式,因为第5步显示@greater(split(variables('currentFile'),'_')[1],split(variables('latestFile'),'_')[1])
    • @SHIVAMYADAV 如果您认为我的帖子对您​​有帮助,您可以将其标记为答案。非常感谢。
    猜你喜欢
    • 2020-08-23
    • 2018-08-01
    • 2022-01-12
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2016-12-09
    相关资源
    最近更新 更多