从AWS Lambda多次激活AWS数据管道

时间:2015-07-06 18:14:42

标签: amazon-web-services aws-sdk amazon-data-pipeline aws-lambda

任何人都可以通过AWS Lambda执行解释如何使用源参数多次激活AWS Data Pipeline。

目前,第一个处理会激活管道,但随后的任何激活都会在有或没有消息的情况下失败(取决于激活参数)

完整的处理循环是将数据移动到S3然后启动DataPipeline以将数据迁移到Redshift。

    Example 1: aws datapipeline activate-pipeline --pipeline-id {pipelineid}
    Accepts command but will not execute on previously run pipeline


    Example 2: aws datapipeline activate-pipeline --pipeline-id {pipelineid} --end-timestamp, 2015-07-08T00:00:00Z 
    Error: Unknown options: --end-timestamp, 2015-07-08T00:00:00Z 


  Example 3: aws datapipeline activate-pipeline --pipeline-id {pipelineid} --start-timestamp, 2015-07-08T00:00:00Z     
A client error (InvalidRequestException) occured when calling the ActivatePipeline operation: startTimestamp shoudl not be later than any Schedule EndDateTime in the pipeline)

摘录摘自AWS文档:

  

要激活已完成的管道,请修改管道的结束日期   然后激活它。

AWS Documentation Reference

2 个答案:

答案 0 :(得分:1)

aws datapipeline activate-pipeline --pipeline-id {pipelineid} --start-timestamp 2015-10-15T14:15:18Z
  • {pipelineid}是您的 df-xxxxx
  • 2015-10-15T14:15:18Z是第一次开始运行管道的时间。 (只是一个例子)

我们以这种方式使用prod并且工作完美,我们可以运行任何已完成的数据管道。

答案 1 :(得分:0)

您的管道定义应该在计划中定义endTime。您需要编辑定义以将其更改为在startDateTime之后。

- 结束时间戳不是有效参数