The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.
Back to Guides

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 の依存関係が若干異なることです。

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