繁体   English   中英

Azure Data Factory Pipeline基于参数运行

[英]Azure Data Factory Pipeline run based on parameters

我正在使用ADF将数据从Cosmos DB复制到Azure Data Lake。 我已经安排它每24小时运行一次。 由于ADF会将所有数据从源复制到接收器中,因此我使用windowStart和windowEnd参数来过滤数据。 过滤是在Cosmos Document DB中的时间戳上完成的。

要运行管道,我必须手动指定windowStart和windowEnd UTC时间,这是不可行的。 有没有办法使它自动化? 我想要的是将windowStart时间设置为(计划的时间-1天),并将windowEnd时间设置为计划时间。 这样,我可以获取前一天的所有数据。

生成的查询是:

select * from c 
where c.data.timestamp >= '@{formatDateTime(pipeline().parameters.windowStart, 'yyyy-MM-ddTHH:mm:ssZ' )}' 
AND c.data.timestamp < '@{formatDateTime(pipeline().parameters.windowEnd, 'yyyy-MM-ddTHH:mm:ssZ' )}'

如何将windowStart和windowEnd动态设置为等于预定时间的-1天?

如果您使用的是Schedule Trigger ,则将以下值传递到管道中。 在计划的时间使用adddays功能。 您可以使用ADF UI来帮助您编辑/新建触发器。 在此处输入图片说明

"name": "trigger1",
"properties": {
    "runtimeState": "Stopped",
    "pipelines": [
        {
            "pipelineReference": {
                "referenceName": "CopyPipeline_9ca",
                "type": "PipelineReference"
            },
            "parameters": {
                "windowStart": "@adddays(trigger().scheduledTime, -1)",
                "windowEnd": "@trigger().scheduledTime"
            }
        }
    ],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM