我如何在AWS lambda函数
我平台革新现有的应用程序与AWS API网关和AWS LAMBDA工作访问来自AWS API网关URI请求和路径变量。当前的应用程序将它作为REST API的功能公开,它被实现为Spring Boot应用程序和Spring REST Controller注释。我如何在AWS lambda函数
虽然我能够了解从API网关请求体JSON到lambda函数,在某些情况下,我需要从Request对象的lambda函数访问的变量和路径变量。我确实看了看Lambda Context对象,但在这方面它没有任何东西可以帮助我。
实施例API网址:我使用下列API调用
GET http://www.example.com/users/{id}/alerts
可变的路径中的 类似于id变量。 (编号)将在这里路径变量。GET http://www.example.com/users/{id}/alerts?id=1234
有没有什么建议的方法来完成这件事 - 我们如何使用请求变量是在下面的网址,其中警报ID作为查询字符串参数传递的例子吗?我不想使用RequestHandler接口,因为我的目标是将每个API绑定到单独的Lambda函数。
如果您正在使用AWS集成型:
使用映射模板发送$ input.params(“ID”)财产请求体到您的lambda表达式。
如果您正在使用AWS_PROXY集成型:
您可以通过输入事件的“pathParameters”属性来访问路径参数。欲了解更多详情,请阅读docs。
谢谢“在lambda函数访问路径变量”“从Request对象变量”什么的例子!我使用映射模板方法将路径参数和请求变量放入Lambda函数中。 – kl27driver
我建议你使用LAMBDA代理集成型,它使你可以需要用最少的麻烦的所有信息。 所以,你需要阅读将可在属性如下:
- 您
/users/...
路径:event.path
- 您的查询字符串编号:
event.queryStringParameters.id
- 你需要的HTTP方法,以及:
event.httpMethod
- 你的路径参数,如ID之一:
event.pathParameters
让我知道如果你需要任何更多的信息。
Lambda代理集成类型似乎通过在Java中似乎不支持的事件对象使数据可用。我使用映射模板方法的另一个原因是我将JSON resquest主体映射到Java POJO并注入到Lambda函数中。 – kl27driver
Lambda代理整合类型绝对可以在Java中工作 –
请参阅此链接了解如何在Java中执行此操作: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api -as-simple-proxy-for-lambda.html?shortFooter = true#api-gateway-proxy-integration-lambda-function-java Quote: “...该函数返回一个JSON字符串,其中包含必需的* * statusCode **和任何适用的* headers *和** body **,以便API Gateway将其作为HTTP响应返回给客户端。“ 但是,我记得当我第一次尝试用Java来做时,这是一种痛苦。这应该有助于你找到正确的道路。 –
你应该给你所谈论的重和 –