このトピックでは、カスタムランタイムで関数インスタンスのライフサイクルフックを実装する方法について説明します。
ライフサイクルフック
関数インスタンスのライフサイクルフックを設定すると、Function Compute はインスタンスのライフサイクルイベントが発生したときにフックを呼び出します。関数インスタンスには、Initializer、PreFreeze、PreStop のフックを設定できます。詳細については、「関数インスタンスのライフサイクル」をご参照ください。
| パス | リクエスト | 期待される応答 |
(オプション) POST /initialize | リクエスト本文: なし。 リクエストヘッダー: 共通リクエストヘッダー。詳細については、「Function Compute の共通リクエストヘッダー」をご参照ください。 | 応答本文: Initializer の戻り値。ステータスコード
Python での initialize のサンプルコード: Python で関数実行時にエラーが発生した場合のサンプルコード: |
(オプション) GET /pre-freeze |
| 応答本文: PreFreeze の戻り値。 ステータスコード
|
(オプション) GET /pre-stop |
| 応答本文: PreStop の戻り値。 ステータスコード
|
カスタムランタイムで Initializer フックを使用する場合は、HTTP サーバーでパスを
/initialize に、メソッドを POST に設定するだけで済みます。前の表の initialize のサンプルコードをご参照ください。重要 関数を作成するときに Initializer フックを設定しない場合は、パスを
/initialize に設定する必要はありません。この場合、HTTP サーバーが /initialize を実装していても、コード内の /initialize ロジックを呼び出して実行することはできません。PreFreeze フックと PreStop フックは、Initializer フックと同じ方法で使用されます。
エラーコード
| エラーコード | 説明 |
| 400 |
|
| 404 | |
| 500 | Function Compute は関数インスタンスを再起動します。 |