将数据工厂中的纪元时间转换为日期时间

Convert epoch time in Data Factory to datetime

我有以下查询。此查询将数据从 Cosmos DB 复制到 Azure Data Lake

select c.Tag
from c
where 
c.data.timestamp >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}' 

但是,我必须使用 _ts,这是在 cosmos DB 集合上创建文档的纪元时间,而不是 c.data.timestamp。如何将纪元时间转换为日期时间并将其与 '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'

进行比较

我也试过用 dateadd( SECOND, c._ts, '1970-1-1' ) 这显然不受支持。

正如@Chris 所说,您可以在 cosmos 数据库查询中使用 UDF

udf:

function convertTime(unix_timestamp){
      var date = new Date(unix_timestamp * 1000);
      return date;
}

sql:

您可以将其合并到您的传输中 sql:

select c.Tag
from c
where 
udf.convertTime(c._ts) >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'