Funqy HTTP Binding with Amazon Lambda 

preview

HTTPクライアントがAWS Lambda上のFunqy関数を呼び出すことを許可したい場合、Quarkusでは、1つのAWS LambdaとしてデプロイされたHTTPを通して複数のFunqy関数を公開することができます。この方法では、通常のFunqy AWS Lambdaの統合よりもオーバーヘッドが追加され、AWS API Gatewayを使用する必要があります。

この技術は、previewと考えられています。

preview では、下位互換性やエコシステムでの存在は保証されていません。具体的な改善には設定や API の変更が必要になるかもしれませんが、 stable になるための計画は現在進行中です。フィードバックは メーリングリスト や GitHub の課題管理 で受け付けています。

とりうるステータスの完全なリストについては、 FAQの項目 を参照してください。

Amazon Lambda Http Guide に従います。Funqyをはじめとする様々なHTTPフレームワークをAmazon Lambdaで使用する方法を説明しています。

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.

追加のクイックスタート

Amazon Lambda Http Guide で説明されているAWSプロジェクトの生成以外にも、AWS LambdaでFunqy HTTPを実行するためのクイックスタートがあります。

git clone -b 3.2 https://github.com/quarkusio/quarkus-quickstarts.git で Git リポジトリーをクローンします。または、https://github.com/quarkusio/quarkus-quickstarts/archive/3.2.zip[アーカイブ] をダウンロードします。

ソリューションは funqy-amazon-lambda-quickstart ディレクトリ にあります。

コード

コードに特別なことはなく、AWS 固有のものもありません。Funqy 関数は多くの 環境にデプロイでき、AWS Lambda もその 1 つです。Java コードは、実際には funqy-http-quickstart とまったく同じコードです。

はじめに

このクイックスタートを実行するための手順は、 Amazon Lambda HTTP Guide で定義されているものと全く同じです。違いは、クイックスタートから実行していることと、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")