Настроить линию данных для получения значений параметров из лямбды - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть лямбда-функция, которая активирует конвейер данных:

client.activate_pipeline(
    pipelineId='df-0680373LNPNFF73UDDD',
    parameterValues=[{'id':'myVariable','stringValue':'ok'}])

Как настроить конвейер данных для получения значений параметра при активации.Я хочу передать значение параметра 'ok' в ShellCommandActivity через аргумент скрипта, например.

1 Ответ

0 голосов
/ 22 февраля 2019

В AWS Datapipeline вы создаете параметры / переменные и определяете их использование во время определения конвейера.
Тогда значения параметров могут быть предоставлены одновременно put-pipeline-defintion или могут быть переопределены во время pipeline-activation.

Если параметр объявлен как myVariable, его можно ссылаться внутри объекта конвейера как#{myVariable}

client.put_pipeline_definition(
        pipelineId='myPipeline',
        pipelineObjects=[
            {
                'id': 'CreateDirectory',
                "type" : "ShellCommandActivity",
                'name': 'CreateDirectory',
                'fields': [
                    {
                        'key': 'command',
                        'stringValue': 'mkdir #{myVariable}'
                    }
                ]
            }
        ],
        parameterObjects=[
            {
                'id': 'myVariable',
                'attributes': [
                    {
                        'key': 'description',
                        'stringValue': 'The directory to be created'
                    }
                ]
            }
        ],


client.activate_pipeline(
    pipelineId='df-0680373LNPNFF73UDDD',
    parameterValues=[{'id':'myVariable','stringValue':'ok'}])
...