首页 > 解决方案 > ADF Tumbling 窗口触发开始日期格式问题

问题描述

我有一个管道,它有一个复制数据活动,它需要两个输入,startDate 和 endDate。当我配置翻转窗口时,触发器的开始日期作为 startDate 参数的输入和触发器的开始日期 + 1 即,下一天作为 endDate 参数的输入提供。

但是当我运行触发器时,复制数据活动失败,因为存在日期格式问题。所以我尝试在复制数据活动的接收器中格式化日期,我收到以下错误

“对目标 CopyData1 的操作失败:在函数 'formatDateTime' 中,为日期时间字符串 'trigger().outputs.windowStartTime' 提供的值无效。日期时间字符串必须匹配 ISO 8601 格式”。

我该如何克服呢?

标签: azureazure-data-factoryazure-data-factory-pipeline

解决方案


您的管道参数默认值导致此问题。您的 formatDateTime() 函数应该采用管道参数,而不是触发变量。

"Parameters": {

      "windowStart": "@trigger().outputs.windowStartTime",

      "windowEnd": "@trigger().outputs.windowEndTime"

    }

以上系统参数将有权访问 Windows 开始时间和 Windows 结束时间值。这是不支持的。您不能将动态值作为默认值。默认值需要是静态字符串。为此,您需要管道内的两个参数从触发器中获取 Windows 开始时间和 Windows 结束时间,然后在 formatDateTime() 函数中传递这些参数。


推荐阅读