azure - ADF Tumbling 窗口触发开始日期格式问题
问题描述
我有一个管道,它有一个复制数据活动,它需要两个输入,startDate 和 endDate。当我配置翻转窗口时,触发器的开始日期作为 startDate 参数的输入和触发器的开始日期 + 1 即,下一天作为 endDate 参数的输入提供。
但是当我运行触发器时,复制数据活动失败,因为存在日期格式问题。所以我尝试在复制数据活动的接收器中格式化日期,我收到以下错误
“对目标 CopyData1 的操作失败:在函数 'formatDateTime' 中,为日期时间字符串 'trigger().outputs.windowStartTime' 提供的值无效。日期时间字符串必须匹配 ISO 8601 格式”。
我该如何克服呢?
解决方案
您的管道参数默认值导致此问题。您的 formatDateTime() 函数应该采用管道参数,而不是触发变量。
"Parameters": {
"windowStart": "@trigger().outputs.windowStartTime",
"windowEnd": "@trigger().outputs.windowEndTime"
}
以上系统参数将有权访问 Windows 开始时间和 Windows 结束时间值。这是不支持的。您不能将动态值作为默认值。默认值需要是静态字符串。为此,您需要管道内的两个参数从触发器中获取 Windows 开始时间和 Windows 结束时间,然后在 formatDateTime() 函数中传递这些参数。
推荐阅读
- python - 如何使用里面的 Python 代码运行可执行文件
- python - 解释python中.filter代码的含义
- python - Executemany 因“执行操作失败;无法处理参数”而失败
- c++ - 使用 libcurl 的 TLS 客户端,在服务器端客户端验证失败时不会失败
- string - 如何在 CSV 文件末尾多次添加相同的字符串?
- grpc-java - 如何为 gRPC 生成的 Java 代码实现 com.google.protobuf.BlockingRpcChannel?
- c# - C# 中的内部作用域或嵌套作用域会影响 GC 吗?
- java - chromedriver window.navigator.webdriver 标志在 chrome v80+ 中为真
- elasticsearch - 如何使用不同权重的elasticsearch索引
- javascript - 如何禁用 p-checkbox 使焦点跳转到屏幕以使 p-checkbox 居中?