从附加变量数组获取最大日期值 - 天蓝色突触管道

问题描述 投票:0回答:1

在我的 Synapse 管道中,我正在循环访问一组文件名。在循环内,我使用“获取元数据”活动来检索每个文件的上次修改日期,并使用“附加变量”活动将这些日期附加到数组变量中。循环完成后,我想从附加数组中提取最大日期值并将其存储在循环外的单独变量中。

enter image description here

在循环之外我有一个设置变量

enter image description here

能够使用设置变量值中的表达式作为

@variables('GetLatestFile')[1]

检索第一个值

但不确定如何从数组中的值中获取最大值。对于设置变量活动,我将变量类型设置为字符串。

variables append azure-synapse apache-synapse azure-synapse-pipeline
1个回答
0
投票

要比较上次修改日期并从中获取最大日期,您需要使用以下 if 活动:

  • 首先在管道中创建
    RefDateTime
    变量,其值为 1900-01-01 00:00:00

enter image description here

  • 然后在获取元数据活动之后添加 If 条件活动,您将在其中获取每个文件的上次修改日期。并添加以下表达式:
@greater(activity('Get Metadata2').output.lastModified, variables('RefDateTime'))

enter image description here

它将检查文件的传入日期是否大于我们的参考日期。

  • 在此之后,在 if 条件活动的 true 条件下添加设置变量,如果条件满足,它将更新
    RefDateTime
    变量。

enter image description here

现在您可以在 forech 活动之外获取设置变量活动并获取其中的

RefDateTime
值,它将返回所有最后修改日期的最大值。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.