0

在 AWS 数据管道控制台中,当我上传管道定义文件时,我总是收到此错误 -

管道创建失败。数据管道未能创建管道:超过一个对象与谓词匹配(共 2 个)。(服务:空;状态代码:0;错误代码:空;请求 ID:空)

尝试使用“从架构师构建”选项创建管道定义。它起作用了,然后我导出了管道定义并尝试使用“上传管道”创建另一个管道。这样做只是为了确保我创建的管道没有任何错误。但仍然得到同样的错误。有什么解决办法吗?

4

2 回答 2

0

与 API 和 aws cli 相比,管道控制台在数据管道功能方面总是迎头赶上。最好的办法是安装并使用 aws cli 来导入管道定义。

http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-cli-ref.html

我们遇到了一些无法通过控制台导入管道的场景,但在使用 aws cli 导入时可以正常工作。

于 2015-04-09T01:52:20.500 回答
0

与在 Build in Architect 中的“导出”中看到的管道定义相比,上传管道定义时,AWS 预期的管道定义文件在语法上有所不同。

AWS 文档中解释的管道定义采用以下格式:

{
"objects" : [
    {
       "name1" : "value1",
       "name2" : "value2"
    },
    {
       "name1" : "value3",
       "name3" : "value4",
       "name4" : "value5"
    }
]}

这是您在使用构建使用数据管道的 Architect 功能创建管道后尝试导出管道定义时可以看到的格式。

但是,当您通过导入管道定义文件或使用 Boto 创建管道时,预期的格式为以下格式:

{u'parameterObjects': [], 
 u'pipelineObjects': [{u'fields': [{u'key': u'schedule',
                                u'refValue': u'ScheduleId_1'},
                               {u'key': u'scriptUri',
                                u'stringValue': u'S3://<Script path>'},
                               {u'key': u'workerGroup',
                                u'stringValue': u'EC2Cluster'},
                               {u'key': u'type',
                                u'stringValue': u'ShellCommandActivity'}],
                    u'id': u'ActivityId_1',
                    u'name': u'Activity 1'
                    }
                ]
}
于 2015-04-09T10:26:01.767 回答