设置调用Lambda函数的有效负载

时间:2017-04-13 11:41:30

标签: java collections aws-lambda

我试图从Java中的另一个Lambda函数调用Lambda函数。我正在遵循本问题"How to call an aws java lambda function from another AWS Java Lambda function when both are in same account, same region"中提供的代码。

请参阅代码中的此声明:

  

invokeRequest.setPayload(ipInput);

我猜测ipInput变量是一个字符串。

我需要知道的是如何设置有效负载,而不是字符串?在我的例子中,Lambda函数接受List<Double>输入。从我读到的,似乎我需要将其转换为JSON字符串。我对如何持怀疑态度? Double[]List<Double>的JSON表示之间是否存在差异?另外,AWS SDK(或Collections API)中是否有任何帮助方法可以干净利落地完成这项工作?

1 个答案:

答案 0 :(得分:2)

AWS Devloper博客上有关于此主题的post

您可以实施代理。

否则,您可以直接在github上查看AWS SDK,或者转到官方java-doc 您传递ByteBufferString的有效负载似乎有两种选择。您似乎无法直接传递DoubleDouble[]。您必须将它们包装在JSON-String中。我收到包含数字的JSON消息,但效果很好。尝试类似:

String myDoubles = "{\"doubles\": [1487851012.924, 1487851012.925]}"
invokeRequest.setPayload(myDoubles);