从 AWS Lambda 多次激活 AWS Data Pipeline

Activate a AWS Data Pipeline Multiple Times From an AWS Lambda

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

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

完整的处理循环是将数据移动到 S3,然后启动数据管道以将数据迁移到 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 文档:

To activate a finished pipeline, modify the end date for the pipeline and then activate it.

AWS Documentation Reference

您的管道定义应在计划中定义一个结束时间。您需要编辑定义以将其更改为在 startDateTime 之后。

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

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

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