Google Cloud Functionsを使用した Funqy HTTP バインディング
プレビューHTTP クライアントが Google Cloud Function 上で Funqy 関数を呼び出すことができるようにする場合、Quarkus では、1 つの Google Cloud Function としてデプロイされた HTTP を通じて複数の Funqy 関数を公開することができます。なお、このアプローチは、通常の Funqy Google Cloud Function の統合よりもオーバーヘッドが増加します。
|
この技術は、previewと考えられています。 preview では、下位互換性やエコシステムでの存在は保証されていません。具体的な改善には設定や API の変更が必要になるかもしれませんが、 stable になるための計画は現在進行中です。フィードバックは メーリングリスト や GitHub の課題管理 で受け付けています。 とりうるステータスの完全なリストについては、 FAQの項目 を参照してください。 |
Google Cloud Functions Http Guide に従ってください。このガイドでは、FunqyをはじめとするさまざまなHTTPフレームワークをGoogle Cloud Functionsで使用する方法を説明しています。
| Funqy HTTP + Google Cloud Functions バインディングは、HTTP上のRESTを置き換えるものではありません。Funqyは多くの異なるプロトコルや関数プロバイダ間でポータブルである必要があるため、そのHTTPバインディングは非常にミニマルであり、リンクのようなREST機能や、キャッシュコントロールや条件付きGETのようなHTTP機能を活用する能力は失われます。代わりに、QuarkusのJAX-RS、Spring MVC、またはVert.x Web Reactive Routeの サポート 使用することを検討するとよいでしょう。これらは、QuarkusとGoogle Cloud Functionsでも動作します。 |
追加のクイックスタート
Google Cloud Functions HTTP Guide で紹介されているGoogle Cloud Functionsプロジェクトの生成に加え、Google Cloud Functions上でFunqy HTTPを実行するためのクイックスタートも用意されています。
Gitレポジトリをクローンするか git clone https://github.com/quarkusio/quarkus-quickstarts.git 、 アーカイブ をダウンロードします。
このソリューションは funqy-google-cloud-functions-http-quickstart ディレクトリ にあります。
コード
コードには何も特別なものはありませんし、もっと重要なのは Google Cloud に特化したものは何もありません。Funqy 関数はさまざまな環境にデプロイすることができ、Google Cloud Functions もその一つです。Java のコードは、実は funqy-http-quickstart と全く同じコードです。
はじめに
このクイックスタートを実行するための手順は、 Google Cloud Functions HTTP Guide で定義されているものと全く同じです。違いは、クイックスタートから実行することと、Maven の依存関係が若干異なることです。
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-funqy-http</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-google-cloud-functions-http</artifactId>
</dependency>
implementation("io.quarkus:quarkus-funqy-http")
implementation("io.quarkus:quarkus-google-cloud-functions-http")