我已经使用 quarkus-amazon-lambda-http mvn 依赖项设置了 http quarkus 项目。它工作正常,但最重要的是我想为 SQS 事件添加自定义 lambda 处理程序。
我添加了 sqs lambda 处理程序
@Named("SqsHandler")
public class SqsHandlerLambda implements RequestHandler<InputObject, OutputObject> {
}
Run Code Online (Sandbox Code Playgroud)
并在 application.properties 中添加处理程序定义:
quarkus.lambda.handler=SqsHandler
每当我尝试运行它时:mvn quarkus:dev它都会给出:
io.quarkus.builder.BuildException: Build failure: Multiple handler classes. You have a custom handler class and the AWS Lambda HTTP extension. Please remove one of them from your deployment
Run Code Online (Sandbox Code Playgroud)
我的想法是使用 SAM 模板中的环境变量来部署 2 个函数,其中一个函数处理 http 请求和其他 SQS 事件。但有可能实现我想要的吗?
Http 事件和 SQS 事件的代码库 80% 是相同的,因此如果我在两个单独的代码存储库中执行,将会出现大量重复代码。