LambdaCall未在InvokeResult中返回有效负载



我在AWS lambda中创建了一个函数,该函数使用LambdaCall调用第二个lambda函数。

public InvokeResult invokeResponse() {
InvokeResult invokeResult = lambdaCall.invokeLambda(invokeRequestParameters.getFunctionName(), invokeRequestParameters.getPayload());
return invokeResult;
}

有效载荷是字符串"0";版本";。在第二个lambda中,handleRequest代码包含:

public String handleRequest(InputStream inputStream, Context context) {
ObjectMapper mapper = new ObjectMapper();
try {
String text = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)).lines().collect(Collectors.joining("n"));
if (text.equals(""Version"")) {
VersionResponse versionResponse = getVersion();
return mapper.writeValueAsString(versionResponse);
}
return null;
} catch (Exception error) {
LOGGER.info(error);
return null;
}

VersionResponse是一个简单的POJO,我已经确认getVersion正在返回VersionResponse对象。目前Lambda正在检索";版本字符串";并且getVersion运行良好。但是,当返回字符串时,InvokeResult的有效负载为null。知道我做错了什么吗?

我(在NodeJS中(遇到了这种情况,因为在使用异步函数的lambda中,我忘记添加return resultValue来返回正确的值,所以lambda没有一个好的返回值,而是使用null作为返回值。我认为,如果在使用回调参数的lambda中忘记调用callback(null, result),也可能发生这种情况

相关内容

  • 没有找到相关文章

最新更新