このトピックでは、カスタムコンテナランタイムで関数インスタンスのライフサイクルフックを実装する方法について説明します。
ライフサイクルフック
関数インスタンスのライフサイクルフックを設定および実装した後、対応するライフサイクルイベントが発生すると、function Computeがフックを呼び出します。 関数インスタンスに設定できるライフサイクルフックは、Initializer、PreFreeze、PreStopです。 詳細は、「Functionインスタンスのライフサイクル」をご参照ください。
次の表に、Initializerフックを示します。 PreFreezeフックとPreStopフックも同様に機能します。
パス | 入力リクエスト | 期待される応答 |
(オプション) POST | リクエスト本文: なし。 リクエストヘッダー: 共通リクエストヘッダー。 詳細については、「Function Computeの一般的なリクエストヘッダー」をご参照ください。 | レスポンス本文: StatusCode
Pythonでの
|
(オプション) GET |
| レスポンス本文: PreFreezeの戻り値。 StatusCode
|
(オプション) GET |
| レスポンス本文: PreStopの戻り値。 StatusCode
|
カスタムランタイムでInitializerフックを使用する場合は、HTTPサーバーで /initialize
パスとPOST
メソッドを使用して対応するロジックを実装する必要があります。 前の表のinitialize
のサンプルコードを参照できます。
関数の作成時にInitializerフックを設定しない場合は、/initialize
を実装する必要はありません。 この場合、HTTPサーバーが /initialize
を実装していても、コード内の /initialize
ロジックを呼び出して実行することはできません。