【问题标题】:AWS CLI dollar sign '$' escaping when invoking lambda function调用 lambda 函数时,AWS CLI 美元符号“$”转义
【发布时间】:2022-01-24 01:55:49
【问题描述】:

那里!我在 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

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda aws-cli


    【解决方案1】:

    在 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
    

    【讨论】:

    • 非常感谢,它成功了!我找到了另一个解决方案,只使用 json 外部有效负载文件,这里是命令:``` aws lambda invoke --function-name blah-blah-event-generator --cli-binary-format raw-in-base64-out --payload file://invoke-payload.json response.json ```
    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 2021-12-25
    • 2015-06-17
    • 2021-07-01
    • 1970-01-01
    • 2022-11-22
    • 2020-03-01
    • 2021-01-30
    相关资源
    最近更新 更多