gpt4 book ai didi

json - 将 JSON 字符串作为输入传递给 aws 命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:35 26 4
gpt4 key购买 nike

我正在尝试从数据管道调用 API,但出现以下错误。这就是我正在尝试的。

aws apigateway test-invoke-method --rest-api-id  int836id123 --resource-id  1ukckkkwq1 --http-method POST --body "{\"QUEUEURL\": \"\",
\"BUCKETREGION\": \"us-east-1\",
\"FLAGFILE\": \"\",
\"FTPUSERID\": \"abcd-test-parameter\",
\"FTPPATH\": \"/abcd/Incr1\",
\"FTPPASSWORD\": \"abcd-test-parameter\",
\"PARAMETERSTOREREGION\":\"us-east-1\",
\"ISFTP2S3\": \"false\",
\"FTPSERVER\": \"11.42.123.111\",
\"BUCKETNAME\": \"path/Lineite/MAIN\",
\"QUEUEREGION\": \"\",
\"LOCALPATH\": \"path\"}"

我已经确认命令中没有多余的回车空格。我也尝试在没有 \ 的情况下运行,但同样的错误。

这是我得到的错误

2018 : Lambda invocation failed with status: 400\nMon Apr 02 06:45:20 UTC 2018 : Execution failed: Could not parse request body into json: Unexpected character ('Q' (code 81)): was expecting double-quote to start field name\n at [Source: [B@72073757; line: 1, column: 3]\nMon Apr 02 06:45:20 UTC 2018 : Method completed with status: 400\n", "latency": 41, "headers": {} }

当我尝试从 AWS cli 运行时,它可以运行,但不能从数据管道运行。

最佳答案

您可以使用此处文档来定义格式正确的 JSON,这样您就不必担心转义引号。定义一个函数为

jsonDump()
{
cat <<EOF
{
"QUEUEURL":"",
"BUCKETREGION":"us-east-1",
"FLAGFILE":"",
"FTPUSERID":"abcd-test-parameter",
"FTPPATH":"/abcd/Incr1",
"FTPPASSWORD":"abcd-test-parameter",
"PARAMETERSTOREREGION":"us-east-1",
"ISFTP2S3":"false",
"FTPSERVER":"11.42.123.111",
"BUCKETNAME":"path/Lineite/MAIN",
"QUEUEREGION":"",
"LOCALPATH":"path"
}
EOF
}

现在调用下面的函数

aws apigateway test-invoke-method --rest-api-id  int836id123 --resource-id  1ukckkkwq1 --http-method POST --body "$(jsonDump)"

关于json - 将 JSON 字符串作为输入传递给 aws 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49606752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com