本文介紹Custom Runtime中HTTP請求處理常式的結構特點、調用說明、使用限制、使用樣本和常見問題。
背景資訊
Function Compute會將使用者的請求,包括Method、Path、Body、Query和Headers以及Function Compute產生的Common Header透傳給HTTP Server。您可以平滑遷移已有的HTTP Web應用。
函數調用說明
當HTTP請求處理常式被調用時,和調用一個Web API方式一樣,您可以直接使用cURL、Postman或瀏覽器等方式直接請求調用。如果您是通過瀏覽器訪問HTTP觸發器的,對應的函數被強制下載時,請參見解決方案。
Header | 描述 |
(可選)x-fc-base-path | 當您尚未配置自訂網域名時,x-fc-base-path的值是 |
(可選)x-fc-status | 當您的HTTP函數不是應用一鍵遷移,而是單純新開發的Web API時,其性質和事件函數類似。 通過Headers中的 x-fc-status 響應,向Function Compute彙報本地函數是否執行成功。
說明 在返回的HTTP響應中,建議您同時設定 StatusCode 和x-fc-status 。 |
使用限制
HTTP Request限制
Request Headers不支援以x-fc-開頭的自訂欄位和以下自訂欄位:
connection
keep-alive
如果Request超過以下限制,會返回
400
狀態代碼和InvalidArgument
錯誤碼。Headers大小:Headers中的所有Key和Value的總大小不得超過8 KB。
Path大小:包括所有的Query Params,Path的總大小不得超過4 KB。
Body大小:同步調用請求的Body的總大小不得超過32 MB,非同步呼叫請求的Body的總大小不得超過128 KB。
HTTP Response限制
Response Headers不支援以x-fc-開頭的自訂欄位和以下自訂欄位:
connection
content-length
date
keep-alive
server
content-disposition:attachment
說明從安全形度考慮,使用Function Compute預設的aliyuncs.com網域名稱,服務端會在Response Headers中強制添加content-disposition: attachment欄位,此欄位會使得返回結果在瀏覽器中以附件的方式下載。如果需要解除該限制,需設定自訂網域名。更多資訊,請參見配置自訂網域名。
如果Response超過以下限制,會返回
502
狀態代碼和BadResponse
錯誤碼。Headers大小:Headers中的所有Key和Value的總大小不得超過8 KB。
其他使用說明
您可以通過綁定自訂網域名,為HTTP函數映射不同的HTTP訪問路徑。詳細資料,請參見配置自訂網域名。您還可以使用API Gateway,後端服務類型選擇HTTP服務,設定HTTP函數為後端服務地址,實作類別似功能。詳細資料,請參見使用Function Compute作為API後端服務。
多語言使用樣本
使用Serverless Devs工具,您可以將您的應用一鍵遷移至Function Compute。以下樣本展示如何通過Serverless Devs工具快速部署和調用函數,您可以按需修改範例程式碼,實現二次開發。