Ven*_*nky 5 workflow azure azure-table-storage azure-data-factory
我有一个带有多个管道的数据工厂,每个管道都有大约20个复制活动,可以在2个存储帐户之间复制azure表。
每个管道都会处理每个azure表的快照,因此我想按顺序运行管道,以避免用旧数据覆盖最新数据的风险。
我知道,将第一条管道输出作为第二条管道的输入,就可以实现这一点。但是由于我有许多活动正在筹备中,所以我不确定哪个活动会最后完成。
无论如何,我是否知道管道已完成,或者一个管道已完成状态触发下一个管道?
在活动中,inputs是一个数组。那么可以提供多个输入吗?如果是,则所有输入将异步运行还是一个接一个地运行?
在多个输入的上下文中,我已经阅读了有关计划依赖性的内容。那么外部输入可以充当调度依赖性还是仅内部数据集?
我认为目前您有几种选择来处理这个问题。两者都不是真正理想的,但就目前的形式而言,ADF 中没有任何东西是理想的!所以...
\n\n选项1
\n\n对第二个管道活动实施时间片延迟或偏移。延迟更容易更改,无需重新配置切片,并且可以添加到活动中。这不是事件驱动的,但会给您更多的控制权以避免重叠。
\n\n"policy": {\n "timeout": "1.00:00:00",\n "delay": "02:00:00", // <<<< 2 hour delay\n "concurrency": 1,\nRun Code Online (Sandbox Code Playgroud)\n\n检查此页面以获取有关这两个属性以及在何处使用它们的更多信息:https://learn.microsoft.com/en-us/azure/data-factory/data-factory-scheduling-and-execution
\n\n选项2
\n\n打破 PowerShell 并使用更高级别的东西来控制它。
\n\n例如,使用Get-\xe2\x80\x8bAzure\xe2\x80\x8bRm\xe2\x80\x8bData\xe2\x80\x8bFactory\xe2\x80\x8bActivity\xe2\x80\x8bWindow 检查第一个管道状态。然后,如果完成,请使用Set-AzureRmDataFactorySliceStatus将第二个管道数据集更新为准备就绪。
\n\n或者
\n\n使用Suspend-\xe2\x80\x8bAzure\xe2\x80\x8bRm\xe2\x80\x8bData\xe2\x80\x8bFactory\xe2\x80\x8bPipeline在管道级别执行此操作
\n\n有关 ADF PowerShell cmdlet 的更多信息,请访问:https://learn.microsoft.com/en-gb/powershell/module/azurerm.datafactories/Suspend-AzureRmDataFactoryPipeline ?view=azurermps-4.0.0
\n\n正如我所说,这两种选择都不理想,并且您已经在问题中提到了数据集链接。
\n\n希望这可以帮助。
\n| 归档时间: |
|
| 查看次数: |
4344 次 |
| 最近记录: |