编辑此页面

具有 AWS Lambda 的 Funqy HTTP 绑定

如果您想允许 HTTP 客户端在 AWS Lambda 上调用您的 Funqy 函数,Quarkus 允许您通过 HTTP 公开多个 Funqy 函数,并将它们部署为一个 AWS Lambda。 这种方法确实比常规的 Funqy AWS Lambda 集成增加了一些开销,并且还需要您使用 AWS API Gateway。

此技术被认为是预览版。

预览阶段,不保证向后兼容性和在生态系统中的存在。 具体改进可能需要更改配置或 API,并且正在制定成为稳定版的计划。 欢迎在我们的邮件列表中或在我们的 GitHub 问题跟踪器中提供反馈。

有关可能的完整状态列表,请查看我们的常见问题解答条目

请遵循 AWS Lambda HTTP 指南。 它介绍了如何在 AWS Lambda 上使用各种 HTTP 框架,包括 Funqy。

Funqy HTTP + AWS Lambda 绑定不能替代基于 HTTP 的 REST。 因为 Funqy 需要在许多不同的协议和函数提供程序之间移植,所以它的 HTTP 绑定非常简单,并且您将失去 REST 功能,例如链接以及利用 HTTP 功能(如缓存控制和条件 GET)的能力。 您可能需要考虑使用 Quarkus 的 Jakarta REST、Spring MVC 或 Vert.x Web Reactive Route 支持。 它们也可以与 Quarkus 和 AWS Lambda 一起使用。

额外的快速入门

除了生成 AWS Lambda HTTP 指南 中介绍的 AWS 项目之外,还有一个用于在 AWS Lambda 上运行 Funqy HTTP 的快速入门。

克隆 Git 存储库:git clone https://github.com/quarkusio/quarkus-quickstarts.git,或下载一个 存档

该解决方案位于 funqy-amazon-lambda-quickstart 目录中。

代码

该代码没有什么特别之处,更重要的是没有任何 AWS 特定的内容。 Funqy 函数可以部署到许多环境,而 AWS Lambda 就是其中之一。 Java 代码实际上与 funqy-http-quickstart 中的代码完全相同。

入门

运行此快速入门的步骤与 AWS Lambda HTTP 指南 中定义的步骤完全相同。 区别在于您是从快速入门运行,并且 Maven 依赖项略有不同。

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-funqy-http</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-amazon-lambda-http</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-funqy-http")
implementation("io.quarkus:quarkus-amazon-lambda-http")

相关内容