配置数据管道以从Lambda接收参数值

时间:2019-02-05 07:24:15

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

我有一个Lambda函数来激活数据管道:

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

如何配置数据管道以在激活时接收parameterValues。例如,我想通过脚本参数将参数值“ ok”传递给ShellCommandActivity。

1 个答案:

答案 0 :(得分:1)

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'}])