我正在创建一个阶跃函数,有这样一个条件
如果我的步骤输出是"is_query":为真,那么我必须移动一个不同的步骤,如果为假,那么我必须去不同的步骤,我遵循这个例子https://docs.aws.amazon.com/cdk/api/v1/python/aws_cdk.aws_stepfunctions/README.html
我得到了这样的想法:
例如如果我这样做:
sfn_step_1.next(sfn_step_2).next(sfn.Choice(self, "Job Complete?").when(sfn.Condition.string_equals("$.is_query", "True"), sfn_special_step ).when(sfn.Condition.string_equals("$.is_query", "False"), Do Nothing ).next(sfn_step_3)
所以我有两个问题,我如何使这个做什么都不做,并移动到步骤3,因为最后我想要两个都去步骤3。只是在is_query到True的情况下多了一个步骤。第二个问题是如何添加is_query和true现在我的第二步有效载荷是这样的:
sfn_step_2 = tasks.LambdaInvoke(self, "check-status",
lambda_function=check_status_lambda,
output_path="$.Payload",
integration_pattern=stepfunctions.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
payload=stepfunctions.TaskInput.from_object({
"payload.$": "$",
"execution_id.$": "$$.Execution.Id",
"taskToken": stepfunctions.JsonPath.task_token
})
)
不用第二个条件,只需添加
.afterwards())。下一步
这将解决两个问题。
在你的代码中是这样的:
sfn_step_1.next(sfn_step_2).next(sfn.Choice(self, "Job Complete?").when(sfn.Condition.string_equals("$.is_query", "True"), sfn_special_step ).afterwards()).next(sfn_step_3)