2015-03-19 128 views

回答

2

当你说“手动运行管道”时,你的意思是什么?

通过调用activate-pipeline命令可以从命令行激活(“触发”)管道。该命令需要管道标识并可选择接受参数值bag作为管道配置。为了获得更多的细节有关此命令,运行

AWS datapipeline激活流水线帮助

例如

AWS datapipeline激活流水线--pipeline-ID DF-ABCDEF1234 --parameter值myStringValue = “Hello World” 的myArrayValue =值myArrayValue =数值

AWS datapipeline activate-pipeline --pipeline-id df-ABCDEF1234 --parameter-values-uri s3://myBucket/withParameters/forPipeline.json

0

不,数据管道中目前不支持。我相信你正在寻找的是事件驱动调度有可能为特定运行实例提供参数。

我建议你去探索以下选项:

使用
  1. 拉姆达 - 支持的基础上,从S3触发器执行任意代码。然后使用S3为运行实例提供无或输入(充当参数)。
  2. 使用AWS SWF和SQS

构建自己有黑客,使其与数据管道的工作,但我会建议采取没有这些,等待数据管道,以支持此功能。

哈克#1

你可以让一个时间表您的管道运行。你的管道将有三个组成部分:

  1. ShellCommandActivity(与来自S3临时文件运行shell脚本数据管道不从S3文件缓存到你的资源。)
  2. S3前提
  3. (可选)资源来运行你的ShellCommandActivity

现在在你的shell脚本中检查S3文件。你可以有逻辑来让这个执行成为一个无操作,如果没有/空文件在S3中或读取S3文件并将它们作为参数传递给你的程序。

哈克#2

您可以添加S3先决条件(指向的位置说:S3://我的桶/标记文件 - #{} scheduledStartTime)向您的管道活动中,充当您的触发机制。无论何时您想要进行特定的时间间隔运行,您都可以在S3中放入相应的文件(比如s3:// my-bucket/marker-file-2015-10-01:00:00:00)。

这个破解非常糟糕,我对解释更多不满意。

0

是的,这是可能的。由于您发布了您的问题,AWS已创建新的“scheduleType”,ondemand,它允许您在调用“激活管道”时运行管道。这里是一个例子invoking a pipeline via AWS Lambda

相关问题