Amazon Lambda用Funqy HTTPバインディング
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で使用する方法を説明しています。
FunqyのHTTP + AWS Lambdaバインディングは、HTTP上のRESTの代替ではありません。Funqyは多くの異なるプロトコルや関数プロバイダ間でポータブルである必要があるため、そのHTTPバインディングは非常にミニマルであり、リンクのようなREST機能や、キャッシュコントロールや条件付きGETのようなHTTP機能を活用する能力は失われます。代わりに、QuarkusのJAX-RS、Spring MVC、またはVert.x Web Reactive Routeの サポート を使用することを検討するとよいでしょう。これらは、QuarkusとAWS Lambdaでも動作します。 |
追加のクイックスタート
Amazon Lambda Http Guide で説明されている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 と全く同じコードです。
はじめに
このクイックスタートを実行するための手順は、 Amazon Lambda HTTP Guide で定義されているものと全く同じです。違いは、クイックスタートから実行していることと、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")