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

CDK中LambdaInvokeProps的parameters属性设置方法

问题解决方案

在aws-cdk-lib 2.28.1版本中,LambdaInvoke构造未将parameters作为顶层属性暴露在LambdaInvokeProps中,可根据你的使用场景选择对应方式配置:

  • 配置Lambda输入Payload(对应Parameters中的Payload字段):直接使用props中的payload属性即可,该属性支持JSON路径动态取值,最终会被编译到Step Functions任务定义的Parameters块中,示例代码:
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
import * as tasks from 'aws-cdk-lib/aws-stepfunctions-tasks';

const invokeTask = new tasks.LambdaInvoke(this, 'CallLambda', {
  lambdaFunction: targetLambda,
  inputPath: '$.sourceData',
  resultPath: '$.lambdaRes',
  // 对应Parameters.Payload配置
  payload: sfn.TaskInput.fromObject({
    bizId: sfn.JsonPath.stringAt('$.bizId'),
    timestamp: sfn.JsonPath.numberAt('$.ts'),
    fixedFlag: true
  })
});
  • 配置非Payload的其他Parameters参数(比如指定Lambda版本/别名的Qualifier、调用类型InvocationType、客户端上下文ClientContext等):在任务实例初始化完成后,调用继承自公共任务类的addParameters方法追加配置即可,该方法会将传入的键值对自动合并到最终的Parameters定义中,示例代码:
// 追加非Payload类的Parameters配置
invokeTask.addParameters({
  Qualifier: 'prod-alias',
  InvocationType: 'RequestResponse'
});

注意事项:不要在addParameters中重复传入Payload字段,该配置会覆盖payload属性的设置,导致输入内容异常。另外你提到的imputPath为拼写错误,正确属性名为inputPath。

内容的提问来源于stack exchange,提问作者Jesús López

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:57:22