Funqy HTTP Binding with AWS Lambda 

preview

Se você deseja permitir que clientes HTTP invoquem suas funções Funqy no AWS Lambda, o Quarkus permite expor várias funções Funqy por meio de HTTP implantado como um AWS Lambda. Este método adiciona uma sobrecarga em relação à integração regular do Funqy com o AWS Lambda e também requer o uso do AWS API Gateway.

Essa tecnologia é considerada preview.

In preview, backward compatibility and presence in the ecosystem is not guaranteed. Specific improvements might require changing configuration or APIs, and plans to become stable are under way. Feedback is welcome on our mailing list or as issues in our GitHub issue tracker.

Para obter uma lista completa de possíveis status, consulte nosso FAQ.

Siga o Guia de Http do AWS Lambda . Ele orienta o uso de uma variedade de estruturas HTTP no AWS Lambda, incluindo o Funqy.

The Funqy HTTP + AWS Lambda binding is not a replacement for REST over HTTP. Because Funqy needs to be portable across a lot of different protocols and function providers its HTTP binding is very minimalistic and you will lose REST features like linking and the ability to leverage HTTP features like cache-control and conditional GETs. You may want to consider using Quarkus’s Jakarta REST, Spring MVC, or Vert.x Web Reactive Route support instead. They also work with Quarkus and AWS Lambda.

Um Quickstart adicional

Além de gerar um projeto AWS que é abordado no Guia do AWS Lambda Http , há também um início rápido para executar o Funqy HTTP no AWS Lambda.

Clone o repositório Git: git clone https://github.com/quarkusio/quarkus-quickstarts.git, ou baixe um arquivo.

A solução está localizada no diretório funqy-amazon-lambda-quickstart diretório.

O Código

Não há nada de especial no código e, mais importante, nada específico do AWS. As funções Funqy podem ser implementadas em muitos ambientes e o AWS Lambda é um deles. O código Java é, na verdade, exatamente o mesmo código que o funqy-http-quickstart .

Primeiros passos

As etapas para colocar esse início rápido em execução são exatamente as mesmas definidas no Guia HTTP do AWS Lambda . As diferenças são que você está executando a partir de um início rápido e as dependências do maven são ligeiramente diferentes.

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")