Aws lambda 如何使用micronaut函数aws api proxy处理多部分/表单数据文件上载

Aws lambda 如何使用micronaut函数aws api proxy处理多部分/表单数据文件上载,aws-lambda,aws-api-gateway,micronaut,micronaut-aws,Aws Lambda,Aws Api Gateway,Micronaut,Micronaut Aws,我正在使用aws api网关代理中的micronaut1.1.0.RC2和micronaut函数aws api proxy1.1.0.RC3,以实现Kotlin Lambda函数。micronaut aws api代理适用于除文件上载路由之外的所有api函数。类和管线定义如下所示: @Controller("/things/{id}/attachments") class AttachmentController { @Post(consumes = [MediaType.MULTIPA

我正在使用aws api网关代理中的
micronaut
1.1.0.RC2
micronaut函数aws api proxy
1.1.0.RC3
,以实现Kotlin Lambda函数。micronaut aws api代理适用于除文件上载路由之外的所有api函数。类和管线定义如下所示:

@Controller("/things/{id}/attachments")
class AttachmentController {
    @Post(consumes = [MediaType.MULTIPART_FORM_DATA])
    fun post(request: HttpRequest<Any>, id: Int, file: CompletedFileUpload): Attachment? {
        ...
    }
}
同样,如果我在本地运行micronaut应用程序并直接点击API(没有micronaut AWS代理),它的功能会非常完美。但是,当我将其部署到AWS时,micronaut AWS代理似乎存在一个问题,无法正确解析多部分表单数据

我在API网关上将
multipart/form data
设置为二进制媒体类型。我已尝试使用主micronaut文档()中描述的
CompletedFileUpload
类型和
StreamingFileUpload
类型,结果相同

值得一提的是,我使用AWS spark代理(AWS serverless java container spark)实现了相同的功能,并且功能正常

为了进行测试,我运行以下curl命令:

curl -X POST https://<host>/things/42/attachments -H 'content-type: multipart/form-data' -F file=@/path/to/file.png
curl-X POSThttps:///things/42/attachments -H'内容类型:多部分/表单数据'-F file=@/path/to/file.png

还有其他人在这方面运气好吗?micronaut api网关代理是否在此时不支持它?感谢您的帮助

到目前为止,这方面有什么进展吗?我也在与之抗争。不,我最终只是放弃了它,坚持使用spark java和
aws无服务器java容器spark
proxy。我也被困在这一点上,最糟糕的是我无法切换到spark proxy。有人调查过这个问题吗?是否应该向Micronaut团队强调这一点?不幸的是,对我来说也是如此。在1.2.5 Micronaut版本上。我在他们的博客上贴了一个问题,但还没有得到任何回应。。。坦率地说,我不相信我们会得到一个:)
curl -X POST https://<host>/things/42/attachments -H 'content-type: multipart/form-data' -F file=@/path/to/file.png