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

如何在AWS Step Function中向AWS API Gateway传递路径参数

配置问题说明

你的配置存在两处核心错误:

  1. 缺少动态参数标识
    AWS Step Function 中,如果需要在Parameters字段内使用 JSONPath 从输入中动态取值,对应的参数名必须添加.$后缀。你当前的Path字段没有加该后缀,因此系统会将/sample/$.id作为固定字符串处理,不会解析其中的$.id路径。
  2. InputPath配置错误
    你设置了"InputPath": "$.id",这会将该状态的输入从原始的{ "id": "1231" }过滤为单纯的字符串"1231",此时状态输入已经不存在id属性,就算Path配置了动态解析也无法取到对应值。

修正后的状态定义

"API Gateway Request": {
  "Type": "Task",
  "Resource": "arn:aws:states:::apigateway:invoke",
  "Parameters": {
    "ApiEndpoint": "****.amazonaws.com",
    "Method": "GET",
    "Headers": {
      "Accept": [
        "application/json"
      ]
    },
    "Stage": "dev",
    "Path.$": "States.Format('/sample/{}', $.id)",
    "AuthType": "IAM_ROLE"
  },
  "Next": "Lambda Invoke",
  "ResultPath": "$.myStateInput"
}

修改点说明:

  • 将Path字段改为Path.$,标记该字段需要动态解析
  • 使用Step Function内置的States.Format函数拼接路径,避免字符串拼接错误
  • 移除了错误的InputPath配置,保留原始输入对象用于取值

内容的提问来源于stack exchange,提问作者born to code

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:18:01