Amazon web services 如何通过AWS代码管道传递变量?
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"} )
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"}
)
从中我知道,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)中详细说明了该程序: