Можно ли создать объект конвейерного массива в канале данных AWS с помощью Cloudformation?

При создании конвейера данных через API / CLI, который создает EmrCluster, я могу указать несколько шагов, используя структуру массива:

{ "objects" : [
  { "id" : "myEmrCluster",
  "terminateAfter" : "1 hours",
  "schedule" : {"ref":"theSchedule"}
  "step" : ["some.jar,-param1,val1", "someOther.jar,-foo,bar"] },
  { "id" : "theSchedule", "period":"1 days" }
] }

я могу позвонить put-pipeline-definition ссылка на файл выше, чтобы создать ряд шагов для кластера EMR.

Теперь, если я хочу создать конвейер с помощью CloudFormation, я могу использовать PipelineObjects недвижимость в AWS::DataPipeline::Pipeline тип ресурса для настройки конвейера. Однако объекты конвейера могут иметь только тип StringValue или же RefValue, Как я могу создать поле объекта массива конвейера?

Вот соответствующий шаблон облачной информации:

"Resources" : {
    "MyEMRCluster" : {
        "Type" : "AWS::DataPipeline::Pipeline",
        "Properties" : {
            "Name" : "MyETLJobs",
            "Activate" : "true",
            "PipelineObjects" : [
                {

                    "Id" : "myEmrCluster",
                    "Fields" : [
                        { "Key" : "terminateAfter","StringValue":"1 hours" },
                        { "Key" : "schedule","RefValue" : "theSchedule" },
                        { "Key" : "step","StringValue" : "some.jar,-param1,val1" }
                    ]
                },
                {
                    "Id" : "theSchedule",
                    "Fields" : [
                        { "Key" : "period","StringValue":"1 days" }
                    ]
                }
             ]
         }
    }
}

С вышеупомянутым шаблоном, step это StringValueэквивалентно:

"step" : "some.jar,-param1,val1"

а не массив, как желаемый конфиг.

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html показывает только StringValue а также RefValue действительные ключи - возможно ли создать массив шагов через CloudFormation??

Заранее спасибо.

1 ответ

Ах, я не уверен, где я это видел steps может быть сконфигурирован как массив - в документации нет упоминаний об этом - вместо этого он указывает, что иметь несколько шагов, несколько step записи должны быть использованы.

            {

                "Id" : "myEmrCluster",
                "Fields" : [
                    { "Key" : "terminateAfter","StringValue":"1 hours" },
                    { "Key" : "schedule","RefValue" : "theSchedule" },
                    { "Key" : "step","StringValue" : "some.jar,-param1,val1" },
                    { "Key" : "step","StringValue" : "someOther.jar,-foo,bar" }
                ]
            }
       }
Другие вопросы по тегам