Funqy HTTPバインディングとAWS Lambda
HTTPクライアントがAWS Lambda上のFunqy関数を呼び出すことを許可したい場合、Quarkusでは、1つのAWS LambdaとしてデプロイされたHTTPを通して複数のFunqy関数を公開することができます。この方法では、通常のFunqy AWS Lambdaの統合よりもオーバーヘッドが追加され、AWS API Gatewayを使用する必要があります。
この技術は、previewと考えられています。 preview では、下位互換性やエコシステムでの存在は保証されていません。具体的な改善には設定や API の変更が必要になるかもしれませんが、 stable になるための計画は現在進行中です。フィードバックは メーリングリスト や GitHub の課題管理 で受け付けています。 とりうるステータスの完全なリストについては、 FAQの項目 を参照してください。 |
AWS Lambda Http Guide に従ってください。Funqyを含むAWS Lambda上の様々なHTTPフレームワークの使い方を解説しています。
Funqy HTTP + AWS Lambda バインディングは REST over HTTP の代替ではありません。 Funqyは多くの異なるプロトコルや関数プロバイダ間でポータブルである必要があるため、そのHTTPバインディングは非常にミニマルであり、リンクのようなRESTの機能や、キャッシュ制御や条件付きGETのようなHTTPの機能を活用する機能は失われます。 代わりに、QuarkusのJakarta REST、Spring MVC、またはVert.x Web Reactive Routeの サポート を使用することを検討するとよいでしょう。これらは、QuarkusとAWS Lambdaでも動作します。 |
追加のクイックスタート
AWS 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もその1つです。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")