【发布时间】:2020-09-11 20:28:20
【问题描述】:
想要将一个位于 VPC 中的 AWS lambda 连接到另一个不在 VPC 中但在同一区域和账户中的 lambda。
-
调用者 lambda "lambda_1" 的代码:
@覆盖 公共字符串句柄请求(最终对象输入,最终上下文上下文){ logger.log(context.getFunctionName() + "被调用");
final AWSLambda client = AWSLambdaClientBuilder.standard().withRegion(Regions.EU_WEST_2).build(); final InvokeRequest request = new InvokeRequest(); request.withFunctionName("lambda_2").withPayload("JSON data as String").withInvocationType(InvocationType.RequestResponse); logger.log("Lambda is about to invoke"); final InvokeResult response = client.invoke(request); logger.log(context.getFunctionName() + " returned"); return input.toString();}
通过maven依赖使用AWS java sdk for lambda
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-lambda</artifactId>
<version>1.11.681</version>
</dependency>
- 允许:将 lambda:InvokeFunction 赋予 lambda_1 以用于 lambda_2
- 被调用者 lambda "lambda_2" 的代码:
@覆盖 public String handleRequest(final Object input, final Context context) {
logger.log(context.getFunctionName() + " invoked");
logger.log(context.getFunctionName() + " returned");
return input.toString();
}
- 为 lambda_1 创建日志,直到 Lambda 即将调用 行,执行不会更进一步并超时。
- 已为 lambda_1、lambda_2 设置了足够的时间和内存,分别为 2 分钟 198 MB 和 1 分钟 128 MB。
- 但无法调用 lambda_2,甚至在运行时也没有出现任何错误,请帮忙谢谢
【问题讨论】:
标签: amazon-web-services java-8 aws-lambda amazon-vpc