由于错误导致AWS Data Pipeline无法启动

时间:2016-07-20 12:04:43

标签: amazon-web-services amazon-cloudformation amazon-data-pipeline

我正在尝试激活我在CloudFormation中创建的管道。但是,我从CLI和Web界面都收到以下错误:

  

管道定义有错误:无法激活有错误的管道。

但是,如果我导出/重新导入管道,则表示没有错误:

$ aws datapipeline get-pipeline-definition --pipeline-id df-REDACTED > def.json
$ aws datapipeline put-pipeline-definition --pipeline-id df-REDACTED --pipeline-definition file://def.json
{
    "validationErrors": [],
    "errored": false,
    "validationWarnings": [
        {
            "id": "Default",
            "warnings": [
                "'pipelineLogUri'is missing. It is recommended to set this value on Default object for better troubleshooting."
            ]
        }
    ]
}
$ aws datapipeline activate-pipeline --pipeline-id df-REDACTED
A client error (InvalidRequestException) occurred when calling the ActivatePipeline operation: Pipeline definition has errors: Cannot activate a pipeline with errors

创建具有相同定义的新管道按预期工作。但是,由于管道由CloudFormation管理,我不知道如何强制它重新创建。我可以提交一个脚本更改来删除管道,然后再提交另一个来创建它,但是在生产中必须做类似的事情似乎很糟糕。

此处提供了管道定义(def.json)的编辑副本:https://gist.github.com/corruptmem/26b866e31f9c85b4ce95d53f7d12f0a7

1 个答案:

答案 0 :(得分:0)

  1. 登录 aws 控制台
  2. 导航到数据管道
  3. 点击有问题的管道 ID
  4. 点击edit pipeline按钮
  5. 点击save按钮
  6. 在底部窗格中,有警告和错误。
  7. 您会看到报告的错误 就我而言,它是:
<块引用>

不允许删除组件 emractivity

注意:此错误是由于尝试更改 emractivity 的名称引起的。
好像是不允许的。

  1. 修复导致定义错误的任何内容
  2. 通过 cli 放置更新的管道定义

aws datapipeline put-pipeline-definition --pipeline-id df-86753098675309 --pipeline-definition file://path_to_your_file.txt

注意:也许您在更改 emr 活动的名称时遇到了同样的问题。这可以解释它致力于创建新管道。