aws 步骤函数将 URL 中的特殊字符转换为 UTF-8(无法将带有查询参数的正确 URL 传递给 API 网关)

问题描述 投票:0回答:1

我在步骤函数中使用 api-gateway 调用任务,但无法在 PATH 中使用查询参数

这是我的阶跃函数定义

{
  "Type": "Task",
  "Resource": "arn:aws:states:::apigateway:invoke",
  "Parameters": {
    "ApiEndpoint": "endpoint",
    "AuthType": "IAM_ROLE",
    "Headers": {
      "Content-Type": [
        "application/json"
      ]
    },
    "Method": "GET",
    "Path": "path?a=1",
    "RequestBody.$": "$"
  },
  "End": true
}

当我在查询参数中使用 a=1 时,它会将其转换为类似格式并给出错误。

我也知道 apigateway 调用任务中的查询参数,但问题是我有像 a=1 这样的输入,如果我将其传递给查询参数,它也会失败。作为查询参数期望这样的东西

path%3F%7B%7D

知道如何在步骤函数中解决这个问题吗?

url aws-api-gateway query-string aws-step-functions
1个回答
0
投票

"QueryParameters": { "a": [ "1" ] }

然后使用状态机中的内部函数在 QueryParameter 中进行处理,如下所示:

{ "key": "a", "value": "1" }

© www.soinside.com 2019 - 2024. All rights reserved.