さまざまなシナリオでビジネス要件を満たすために、Function Computeにはイベント関数とHTTP関数の2種類の関数が用意されています。 このトピックでは、Function Computeの2種類の関数のシナリオと違いについて説明します。
比較
Function Computeは、イベント関数とHTTP関数の2種類の関数をサポートしています。
イベント関数は、イベントを使用してイベント駆動モデルの関数を呼び出すシナリオに適しています。
HTTP関数は、webアプリケーションの迅速な構築などのシナリオに適しています。
Function Computeのプログラミングモデルでは、ハンドラーのモデルは、関数名、関数入力パラメーター、および応答の3つの部分で構成されています。 コードで定義されている別の関数を入力パラメーターとしてハンドラーに渡すこともできます。
次の表に、トリガーメソッドと入力パラメーターに関するイベント関数とHTTP関数の違いを示します。
関数タイプ | トリガーメソッド | 入力パラメータ |
イベント機能 | イベント関数の実行をトリガーして、特定の機能を実装できます。 イベント機能をトリガーするには、タイマーの設定、API操作の呼び出し、SDKの使用、または他のAlibaba Cloudサービスのトリガーを使用します。 Object Storage Service (OSS) トリガー、Log Serviceトリガー、Alibaba Cloud CDNトリガー、Tablestoreトリガー、EventBridgeトリガーなど、HTTPトリガー以外のさまざまなトリガーを作成できます。 サポートされているトリガータイプの詳細については、「トリガーの概要」をご参照ください。 サポートされているすべてのタイプのトリガーを使用してイベント関数をトリガーできます。 | 次のコードは、単純なNode.jsハンドラーを定義します。
Node.jsイベント関数の詳細については、「イベントハンドラー」をご参照ください。 他のプログラミング言語の関数の入力パラメーターの詳細については、「概要」をご参照ください。 |
HTTP 関数 | HTTP関数は、HTTPまたはHTTPSリクエストによってのみトリガーできます。 ビジネス要件に基づいて、GET、POST、PUT、DELETE、HEAD、PATCHなど、HTTP関数をトリガーできるリクエストメソッドを指定できます。 Function Computeでは、HTTPまたはHTTPSリクエストを送信してHTTP関数をトリガーするHTTPトリガーを作成できます。 サービスの1つのバージョンまたは1つのエイリアスに対して作成できるHTTPトリガーは1つだけです。 詳細については、「概要」をご参照ください。 | 次のコードは、単純なNode.jsハンドラーを定義します。
Node.js HTTP関数の詳細については、「HTTPハンドラー」をご参照ください。 他のプログラミング言語の関数の入力パラメーターの詳細については、「概要」をご参照ください。 |