本文介紹Custom Runtime中HTTP請求處理程序的結構特點、調用說明、使用限制、使用示例和常見問題。
背景信息
函數計算會將用戶的請求,包括Method、Path、Body、Query和Headers以及函數計算生成的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 響應,向函數計算匯報本地函數是否執行成功。
說明 在返回的HTTP響應中,建議您同時設置 StatusCode 和x-fc-status 。 |
使用限制
HTTP Request限制
Request Headers不支持以x-fc-開頭的自定義字段和以下自定義字段:
connection
keep-alive
如果Request超過以下限制,會返回
400
狀態碼和InvalidArgument
錯誤碼。Headers大小:Headers中的所有Key和Value的總大小不得超過8 KB。
Path大?。喊ㄋ械腝uery 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
說明從安全角度考慮,使用函數計算默認的aliyuncs.com域名,服務端會在Response Headers中強制添加content-disposition: attachment字段,此字段會使得返回結果在瀏覽器中以附件的方式下載。如果需要解除該限制,需設置自定義域名。更多信息,請參見配置自定義域名。
如果Response超過以下限制,會返回
502
狀態碼和BadResponse
錯誤碼。Headers大小:Headers中的所有Key和Value的總大小不得超過8 KB。
其他使用說明
您可以通過綁定自定義域名,為HTTP函數映射不同的HTTP訪問路徑。詳細信息,請參見配置自定義域名。您還可以使用API網關,后端服務類型選擇HTTP服務,設置HTTP函數為后端服務地址,實現類似功能。詳細信息,請參見使用函數計算作為API網關后端服務。
多語言使用示例
使用Serverless Devs工具,您可以將您的應用一鍵遷移至函數計算。以下示例展示如何通過Serverless Devs工具快速部署和調用函數,您可以按需修改示例代碼,實現二次開發。