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

Configure datapipeline to receive parameter values from a Lambda

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

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

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

AWS Datapipeline 中创建 parameters/variables 并在放置管道定义时定义其用法。
然后可以同时提供参数值 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'}])