亚马逊网络服务-AWS管理数据管道之间的依赖关系



我有一种情况,我想在其他管道(DP1)之后运行一个数据管道(DP2)。如果DP1没有成功完成,我根本不希望DP2运行,如果是,我希望DP2开始运行。事实上,未来的情况可能会变得越来越复杂,所以我想有一个选项,可以轻松地配置什么时候运行,以什么顺序运行。

我刚刚开始研究这个问题,并偶然发现了一个解决方案,该解决方案将包括aws-lambda,它可以查看S3并在DP1在S3中生成文件的情况下触发DP2。这还可以,但我宁愿选择更健壮的。

有没有一个工具可以为我进行这种数据管道的调度/排序?

我想到的也是以Jenkins为基础构建工具:创建Jenkins作业(我可以在Jenkins中管理这些关系),并使用它们使用aws数据管道api按需触发数据管道-基本上,使用Jenkins作为一种机制向管道api发出命令,并不时检查管道的状态,成功完成其他。。。

当然,这需要一些时间来构建,这就是为什么我问是否已经有一些工具可以使用。

我知道有点晚了,但刚刚发现。您可以从管道#1触发管道#2。

在管道#1中,包括ShellCommandActivity作为最后一个活动,该活动在管道#1成功完成后激活管道#2。要执行的命令:aws datapipeline activate pipeline--pipeline id#{myPipelineToActivateID},其中myPipelineToActivateID是pipeline#2的pipeline id。

管道#2应创建为"按需"管道。初始设置时,将时间表设置为"在管道激活时"运行,而不是在时间表上运行。

实现这一点的标准方法是在DP1成功完成时将一个文件放在S3中,作为最后一个活动,然后让DP2有一个Prediton来检查该文件的存在。如果两个管道都按固定时间表运行,则此操作有效。

您的管道是否按需运行以响应事件?

最新更新