本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

函數執行個體生命週期回調

更新時間:2025-01-07 19:47

本文介紹Custom Container Runtime實現函數執行個體生命週期回調的方法。

回調方法

當您實現並配置函數執行個體生命週期回調後,Function Compute將在相關執行個體生命週期事件發生時調用對應的回調程式。函數執行個體生命週期涉及Initializer、PreFreeze和PreStop三種回調。更多資訊,請參見函數執行個體生命週期回調

下文介紹Initializer回調方法,PreFreeze和PreStop回調方法與之相同。

Path

輸入請求

期望的響應

Path

輸入請求

期望的響應

(可選)POST /initialize

請求體:無。

要求標頭:Common Request Headers。具體資訊,請參見Function Compute公用要求標頭

響應體:函數Initializer的傳回值。

StatusCode

  • 200:成功狀態。

  • 404:失敗狀態。

Python語言中關於initialize的範例程式碼如下:

@app.route('/initialize', methods=['POST'])
def init_invoke():
  rid = request.headers.get(x-fc-request-id)
  print("FC Initialize Start RequestId: " + rid)
  # do your things
  print("FC Initialize End RequestId: " + rid)
  return "OK"

(可選)GET /pre-freeze

響應體:函數PreFreeze的傳回值。

StatusCode

  • 200:成功狀態。

  • 404:失敗狀態。

(可選)GET /pre-stop

響應體:函數PreStop的傳回值。

StatusCode

  • 200:成功狀態。

  • 404:失敗狀態。

如果您想在Custom Runtime中使用Initializer回調方法,您需要在您的HTTP Server中實現Path為/initialize和Method為POST的對應邏輯。範例程式碼,請參見上表中關於initialize的範例程式碼。

重要

建立的函數不設定Initializer時,無需實現/initialize。此時,即使HTTP Server實現了/initialize,代碼中的/initialize邏輯也無法被調用執行。

  • 本頁導讀 (1, M)
  • 回調方法
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare