sha*_*rad 5 json amazon-web-services aws-cli .net-core aws-lambda
我已经在 .net core 中创建了 aws lambda 函数并进行了部署。我已经尝试在带有测试用例及其工作的 aws 控制台中执行函数。但我无法使用 cli 命令实现相同的效果
aws lambda invoke --function-name "mylambda" --log-type Tail --payload file://D:/Files/lamdainputfile.json file://D:/Files/response.txt
Run Code Online (Sandbox Code Playgroud)
我在使用 cli 命令时出错
An error occurred (InvalidRequestContentException) when calling the Invoke operation: Could not parse request body into json: Unexpected character ((CTRL-CHAR, code 138)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (byte[])"?zn?]t?zn?m?"; line: 1, column: 2]
Run Code Online (Sandbox Code Playgroud)
我试过传递json
aws lambda invoke --function-name "mylambda" --log-type Tail --payload "{'input1':'100', 'input2':'200'}" file://D:/Files/response.txt
Run Code Online (Sandbox Code Playgroud)
但它不起作用
这个 lambda 函数正在使用测试用例执行 aws 控制台并给出正确的结果。我在本地 json 文件中添加了相同的输入并尝试使用 cli 命令。
JSON 输入:
{
"input1": "100",
"input2": "200"
}
Run Code Online (Sandbox Code Playgroud)
编辑:
在内联 json 中更正后,我收到输出文件错误
Unknown options: file://D:/Files/response.txt
Run Code Online (Sandbox Code Playgroud)
是否有任何命令可以仅在 cli 中打印输出?
小智 15
添加该选项--cli-binary-format raw-in-base64-out将允许您在调用命令中传递原始 json。
aws lambda invoke \
--cli-binary-format raw-in-base64-out \
--function-name "mylambda" \
--payload '{"input1": "100", "input2": "200"}' \
file://D:/Files/response.txt
Run Code Online (Sandbox Code Playgroud)
use*_*227 11
该文档未从 cli 版本 1 更新。对于 aws cli 版本 2,我们需要对有效负载进行 base64 编码。
苹果电脑:
payload=`echo '{"input1": 100, "input2": 200 }' | openssl base64`
aws lambda invoke --function-name myfunction --payload "$payload" SomeOutFile &
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |