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 JAX-RS, 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 https://github.com/quarkusio/quarkus-quickstarts.git で Git リポジトリーをクローンします。または、https://github.com/quarkusio/quarkus-quickstarts/archive/2.16.zip[アーカイブ] をダウンロードします。

ソリューションは 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")