具有 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 依赖项略有不同。
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-funqy-http</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-amazon-lambda-http</artifactId>
</dependency>
implementation("io.quarkus:quarkus-funqy-http")
implementation("io.quarkus:quarkus-amazon-lambda-http")