Azure数据工厂 - 如何触发Scheduled/OneTime管道?

shi*_*iva 8 azure azure-data-factory

背景: 我已安排运行的管道,用于将数据从源复制到目标.这计划在特定时间每天运行.

问题:管道的输入数据集是外部的,在特定的时间间隔不可用.这意味着复制活动必须等到管道中提到的计划开始时间才能启动.考虑到数据量,我不想在这里浪费时间.

要求:在任何给定时间,我都可以访问输入数据集可用的时间.有了这个,我想知道如何从C#触发ADF管道,虽然它计划仅在特定时间启动.

Jus*_*gic 9

我遇到了同样的问题,我需要在本地工作完成后运行我的管道.为此,我修改了本地作业,以启动管道作为最后一步.我在这里写了一篇关于如何用C#启动ADF管道的文章. 以下是ADF开发人员参考的链接,该参考也可能有所帮助.我也有一个例子在这里如何从Azure的功能触发自动进稿器的管道,如果你有兴趣.这是使用第一个示例中的相同代码,但我得到了在云中运行整个过程以及使用azure函数调度程序的能力.

以下是修改管道的相关方法.您需要根据希望切片运行的时间更改开始日期和结束日期.

public void StartPipeline(string resourceGroup, string dataFactory, string pipelineName, DateTime slice)
    {
        var pipeline = inner_client.Pipelines.Get(resourceGroup, dataFactory, pipelineName);

        pipeline.Pipeline.Properties.Start = DateTime.Parse($"{slice.Date:yyyy-MM-dd}T00:00:00Z");
        pipeline.Pipeline.Properties.End = DateTime.Parse($"{slice.Date:yyyy-MM-dd}T23:59:59Z");
        pipeline.Pipeline.Properties.IsPaused = false;

        inner_client.Pipelines.CreateOrUpdate(resourceGroup, dataFactory, new PipelineCreateOrUpdateParameters()
        {
            Pipeline = pipeline.Pipeline
        });
    }
Run Code Online (Sandbox Code Playgroud)