我正在尝试将Azure CosmosDB中的数据复制到Azure SQL数据库中。
在Azure CosmosDB源中,查询如下:
select * from c where c.DefinitionTime >= '@{formatDateTime(pipeline().parameters.windowStart, 'yyyy-MM-ddTHH:mm:ssZ' )}' AND c.DefinitionTime < '@{formatDateTime(pipeline().parameters.windowEnd, 'yyyy-MM-ddTHH:mm:ssZ' )}'
在CosmosDB中,&#34; DefinitionTime&#34;存储为字符串。要运行上面的查询,我必须更新&#34; DefinitionTime&#34;使用范围索引,这是一种可能的解决方案。
另一种可能的解决方案是使用所有CosmosDB文档中都可用的_ts字段。 _ts表示在纪元时间中创建或上次更新文档的时间。
所以基本上问题是如何将pipeline().parameters.windowStart
转换为纪元时间。 &#34; formatDateTime&#34;函数的第二个参数采用格式似乎没有办法要求纪元格式。此外,没有办法使用日期时间算法手动转换为纪元。