Google Cloud Functionsに関しては詳しくないので、各自ググってください。
最近は、原理上、任意のJVM言語で書けるらしいです。
言いたいことを凝縮すると、以下の1 tweetなわけですが
https://t.co/GMecplWU3H
— Kenji Yoshida (@xuwei_k) 2021年4月3日
Google Cloud Functionsのhttp関連のインターフェイス、servletなどではなく独自なわけだが、
unfilteredが、nettyとservlet用に抽象化されているおかげで、それらのclassとの変換層を数十行書くだけで、わりとunfilteredの機能使って書けるものが簡単に作れた、便利
なぜわざわざservletや任意のDocker Imageがデプロイ可能なやつではなく、これを試したのか?というと、 今流行りのServerlessという観点だったり、無料枠が多かったり、その他色々ですが、とりあえずそこに関しても自分はあまり詳しくないので、各自ググってください。
とはいえ、Scalaでやるメリットが微妙そうですが、とりあえずScalaでやってみた、というだけの記事です。
デプロイ方法もいくつかあるらしいですが、自分は雑にsbt-assemblyでjar作って、コマンドラインからアップロードしました。
というわけで、コードを貼っておきます。 もっとやる気が出れば、ちゃんとしたOSSにするかな、どうするかな・・・。
ちなみに、初回起動には数秒かかったりする?ので、他の言語と比べると、だいぶつらい・・・