如何用 Java 编写 AWS Lambda 来使用查询字符串参数?

Posted

技术标签:

【中文标题】如何用 Java 编写 AWS Lambda 来使用查询字符串参数?【英文标题】:How to write AWS Lambda in Java, to consume query string parameters? 【发布时间】:2022-01-10 19:45:31 【问题描述】:

那里有很多类似的线程,所以我会尽量简单而具体。

我的 API Gateway 具有 GET 方法,但未标记“使用 Lambda 代理集成”复选框。 (是的,让我的生活更艰难)

我的假设是我的 API 网关部分工作正常,带有查询字符串参数。 已通过部署 API 按钮部署

我也写了映射模板,正如 AWS 提供的 instruction 所说的那样。

现在,在 java 中,我有以下内容:

public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent event, Context context) 

问题是event 对象是空的。我没有使用正确的请求事件对象吗?

附加说明

根据请求,下面是我的 lambda 函数:

LambdaLogger logger = context.getLogger();
logger.log("EVENT: " + gson.toJson(event));

这是 CloudWatch 打印的内容:

EVENT: 

【问题讨论】:

进行这些更改后,您是否再次部署了 API?你的事件应该有这些参数。 @NinadGaikwad 感谢您的评论。是的,它已经部署了,这也是我的谜团,为什么我的事件没有这些参数。 【参考方案1】:

您是否在 GET -> 方法请求下配置了这个?

仔细检查后,您是否按下了部署按钮?

【讨论】:

是的,这些步骤已经完成。另外,为了以防万一,重新部署了我的 Lamba 代码。 也许您可以提供有关您的 lambda 的更多详细信息? 没有太多可分享的,但我根据您的要求在我的问题部分做了一个小的编辑。

以上是关于如何用 Java 编写 AWS Lambda 来使用查询字符串参数?的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudFormation:如何为 Lambda 代码指定来自另一个 AWS 账户的存储桶?

如何用java8的lambda写一个求阶乘的函数

AWS lambda函数未终止线程

如何在AWS Lambda中调整Java Garbage收集器

AWS Lambda:任务超时

如何从 AWS lambda java 中的类路径加载属性文件