首页 > 解决方案 > Quarkus 原生应用程序的 AWS Lambda 处理程序

问题描述

我一直在玩 Quarkus 和 AWS lambda 的自定义(本机)运行时,但我面临一个非常简单(我相信)的问题,我无法在任何文档(AWS 和 Quarkus)中找到解决方案。

我无法在我的代码中获取要反序列化的 JSON 对象列表。当我使用我的 JSON 有效负载从控制台测试我的 lambda 函数时,我收到以下错误:

{
  "errorType": "java.lang.ClassCastException",
  "errorMessage": "java.util.LinkedHashMap cannot be cast to com.example.InputObject"
}

我的 JSON 有效负载是:

[
  {
    "description": "test description",
    "name": "A name"
  }
]

我在 Kotlin 中的处理程序:

class LambdaHandler : RequestHandler<List<InputObject>, OutputObject> {

    override fun handleRequest(input: List<InputObject>, context: Context?): OutputObject {
        val names: ArrayList<String> = arrayListOf()
        input.mapTo(names) { it.name }
        // do stuff with names
        return OutputObject("", context?.awsRequestId)
    }
}

如果有人能指出我正确的方向,我将不胜感激。

标签: javakotlinaws-lambdaquarkus

解决方案


推荐阅读