AWS CLI 美元符号“$”在调用 lambda 函数时转义

AWS CLI dollar sign '$' escaping when invoking lambda function

有!我在 Windows 上从 cli 调用 aws lambda 函数时遇到了一点问题,我的调用代码如下所示

aws lambda invoke --function-name blah-blah-event-generator --cli-binary-format raw-in-base64-out --payload '{\"UserName\": \"blah-blah\", \"Pwd\": \"blah$$blah\", \"Operation\": \"blah\"}' response.json

然后出现这个错误

An error occurred (InvalidRequestContentException) when calling the Invoke operation: Could not parse request body into json: Could not parse payload into json: Unrecognized character escape '$' (code 36)

为了克服这个问题,我尝试在美元符号前添加 '' 符号,但没有任何改变:

aws lambda invoke --function-name blah-blah-event-generator --cli-binary-format raw-in-base64-out --payload '{\"UserName\": \"blah-blah\", \"Pwd\": \"blah$$blah\", \"Operation\": \"blah\"}' response.json

在 Windows 上,您需要为 payload 参数使用双引号 (")。$ 不会产生任何问题。

尝试使用此命令(我已执行第一个命令并将 ' 更改为 "):

aws lambda invoke --function-name blah-blah-event-generator --cli-binary-format raw-in-base64-out --payload "{\"UserName\": \"blah-blah\", \"Pwd\": \"blah$$blah\", \"Operation\": \"blah\"}" response.json