【问题标题】:using jo with aws invoke lambda command line使用 jo 和 aws 调用 lambda 命令行
【发布时间】:2023-03-11 01:11:01
【问题描述】:

通常,要测试我的 aws lambda 函数,我会这样做:

IMG_FILE='/some/image/loc//img.jpg' &&\
jo img=%"$IMG_FILE" | curl -X POST -H 'Content-Type: application/json' -d @- "$LAMBDA_HOST" >> output.bin

我想用 aws lambda 调用函数复制相同的内容,如下所示:

IMG_FILE='/some/image/loc//img.jpg' &&\
jo img=%"$IMG_FILE" |aws lambda invoke --payload XXXXXX --function-name funky_func output.bin

如何将jo 输出传递给--payload 参数? :(

【问题讨论】:

    标签: linux bash amazon-web-services aws-lambda jo


    【解决方案1】:

    哦,看看the documentation,看来--payload 可以带一个file:// 参数。所以你可以这样做:

    IMG_FILE='/some/image/loc/img.jpg' &&
      jo img=%"$IMG_FILE" > img.json &&
      aws lambda invoke --payload file://img.json \
        --function-name funky_func output.bin
    

    ...但是根据图像的大小,您可能会遇到一些命令行长度限制。


    可能——但我目前无法对此进行测试——如果您提供 file:///dev/stdin 的文件参数,您可以在标准输入上提供 JSON。也许值得一试。

    【讨论】:

    • 是的,使用 jo 的重点是不要这样做:(
    • 我已经为您阅读了文档并提出了建议和替代方案。
    • 是的.. 我也尝试了这个选项--payload file://img.json.. 但由于一些奇怪的原因,它在我的终端上乱扔/输出了有效负载内容,并且没有output.bin :( 太奇怪了。
    • 我现在也尝试了file:///dev/stdin,它只是在我的终端上输出json..奇怪..
    猜你喜欢
    • 2019-10-30
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2016-11-15
    • 2021-10-15
    • 2021-09-19
    • 1970-01-01
    相关资源
    最近更新 更多