You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置WAIT_FOR_TASK_TOKEN后仍提示Task Token缺失的问题求助

问题排查与修复

错误原因分析

你遇到的问题有两个核心原因:

  1. 任务令牌引用方式错误:使用WAIT_FOR_TASK_TOKEN集成模式时,CDK要求必须通过JsonPath.taskToken()方法传递任务令牌,而非直接写原始JSONPath表达式"$$.Task.Token",否则CDK的验证逻辑无法识别令牌已正确配置。
  2. .next()方法调用语法错误:.next()方法只需传入下一个状态节点,不需要额外传递self和definition参数,你的写法混淆了状态构造和状态流转的语法。

修正后的代码

from aws_cdk import (
    aws_stepfunctions as sfn,
    aws_stepfunctions_tasks as tasks,
    aws_lambda as _lambda,
    Stack
)

# 假设hello_function已正确定义
class YourStack(Stack):
    def __init__(self, scope, construct_id, **kwargs):
        super().__init__(scope, construct_id, **kwargs)
        
        state_machine = sfn.StateMachine(
            self,
            "MyStateMachine",
            definition=tasks.LambdaInvoke(
                self,
                "MyLambdaTask",
                lambda_function=hello_function,
                integration_pattern=tasks.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
                payload={
                    "payload.$": "$",
                    "execution_id.$": "$$.Execution.Id",
                    "taskToken": sfn.JsonPath.taskToken()  # 使用JsonPath.taskToken()传递令牌
                }
            ).next(
                tasks.LambdaInvoke(  # .next()直接传入下一个任务节点
                    self,
                    "MyLambdaTask2",
                    lambda_function=hello_function,
                    integration_pattern=tasks.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
                    payload={
                        "payload.$": "$",
                        "execution_id.$": "$$.Execution.Id",
                        "taskToken": sfn.JsonPath.taskToken()  # 同样修改此处
                    }
                )
            )
        )

关键修改说明

  • 任务令牌传递:将"taskToken.$": "$$.Task.Token"替换为"taskToken": sfn.JsonPath.taskToken(),这会让CDK自动生成正确的令牌引用,并通过内部验证逻辑。
  • 状态流转语法:.next()方法直接接收下一个状态对象(第二个LambdaInvoke实例),无需额外的self和definition参数,这是Step Functions状态链的标准写法。

内容的提问来源于stack exchange,提问作者TNN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 15:06:16