Function Computeを使用すると、さまざまなシナリオでビジネス要件を満たすイベント関数、web関数、タスク関数を作成できます。 このトピックでは、Function Computeのさまざまな関数作成方法の一般的なシナリオと違いについて説明します。
比較
項目 | イベント関数 | Web関数 | タスク関数 | |
シナリオ | Function Computeで定義されたインターフェイスに基づいて、イベントを処理するプログラムを作成します。 | Java Spring Boot、Node.js Express、Python Flask、Golang Ginなどの一般的なフレームワークに基づいてプログラムを作成するか、既存のフレームワークにデプロイされたアプリケーションを移行します。 | コンテナイメージ
| 非同期呼び出しモードで関数を呼び出し、非同期呼び出しの各フェーズのステータスを追跡して保存します。 デフォルトでは、タスクモードはタスク機能に対して有効になっています。 タスクモードを使用して、非同期タスクを送信、表示、停止、および再試行できます。 |
コールドスタート期間 | 最短。 ランタイムがコードパッケージに含まれていないため、コールドスタートの期間は最短です。 | 短い Web関数はパブリックイメージを使用し、イメージプル時間がないため、コールドスタートが加速されます。 | 長いわ 画像の取得には時間がかかるため、コールドスタートの継続時間は比較的長くなります。 | 最短。 ランタイムがコードパッケージに含まれていないため、コールドスタートの期間も最短です。 |
コードパッケージサイズの上限 | 500 MB圧縮コードパッケージ。 | 500 MB圧縮コードパッケージ。 | 10 GB圧縮イメージ。 | 500 MB圧縮コードパッケージ。 |
コードパッケージ形式 | ZIP、JAR (Java) 、およびフォルダー。 | ZIP、JAR (Java) 、およびフォルダー。 | ZIP、JAR (Java) 、およびフォルダー。 | |
GPU高速化インスタンス | サポートされていません。 | サポートされていません。 | サポートされています。 | サポートされていません。 |
ランタイム | Node.js、Python、PHP、Java、。NET Core、およびGo。 | 無制限 | 無制限 | Node.js、Python、PHP、Java、。NET Core、およびGo。 |
関数タイプ
イベント機能
Function Computeで定義されたインターフェイスに基づいてイベントを処理するプログラムを作成する場合は、イベント関数を作成します。 詳細については、「イベント関数の作成」をご参照ください。
Web関数
Java Spring Boot、Node.js Express、Python Flask、Golang Ginなどの一般的なフレームワークに基づいてプログラムを作成する場合、カスタムコンテナイメージに基づいて関数を作成するか、既存のフレームワークベースのアプリケーションを移行する場合は、web関数を作成します。 詳細については、「web関数の作成」をご参照ください。
タスク関数
非同期モードで関数を呼び出し、非同期呼び出しの各フェーズのステータスを追跡して保存する必要がある場合は、タスク関数を作成できます。 デフォルトでは、タスクモードはタスク機能に対して有効になっています。 タスクモードを使用して、非同期タスクを送信、表示、停止、および再試行できます。 詳細については、「タスク関数の作成」をご参照ください。