Amazon web services 如何通过AWS代码管道传递变量?

Amazon web services 如何通过AWS代码管道传递变量?,amazon-web-services,aws-codepipeline,Amazon Web Services,Aws Codepipeline,AWS代码管道首先编排lambda-A,然后编排lambda-B,我想将变量从mylambda-A传递到mylambda-B 在lambda-A中,我在将作业设置为成功时设置了outputVariables: boto3.client("codepipeline").put_job_success_result( jobId=event["CodePipeline.job"]["id"], outputVariables={"FOO":"BAR"} )

AWS代码管道首先编排
lambda-A
,然后编排
lambda-B
,我想将变量从my
lambda-A
传递到my
lambda-B

lambda-A
中,我在将作业设置为成功时设置了outputVariables:

boto3.client("codepipeline").put_job_success_result(
        jobId=event["CodePipeline.job"]["id"],
        outputVariables={"FOO":"BAR"}
    )
从中我知道,
outputVariables
是可供下游操作使用的键值对


CodePipeline然后触发
lambda-B
。如何在
lambda-B
中检索我在
lambda-A
中的outputVariables中设置的变量?

在lambda-B的操作配置中,在用户参数中,输入变量语法以使用以下语法摄取在早期操作中创建的变量:

#{outputVariables.FOO}
然后可以在Lambda函数中解包“UserParameters”:

{
    "CodePipeline.job": {
        "id": "EXAMPLE-e08a-4f06-b9ba-EXAMPLE",
        "accountId": "EXAMPLE87397",
        "data": {
            "actionConfiguration": {
                "configuration": {
                    "FunctionName": "LambdaForCP-Python",
                    "UserParameters": "5e2591fd79889dEXAMPLE5f33e2"
                }
            },
从“事件”开始:

def lambda_handler(event, context):

    print(event)
步骤(f)中详细说明了该程序: