Web函數
更新時間 2024-12-11 09:38:57
最近更新時間: 2024-12-11 09:38:57
分享文章
背景信息
自定義運行時支持托管用戶的HTTP Server。支持用戶http請求的轉發,請求鏈路:用戶client --> CF平臺--> Http server(自定義函數)
有兩種調用函數的方式:
- HTTP調用(推薦):例如使用HTTP觸發器或者自定義域名。
- API調用:通過Invoke API進行調用,例如使用SDK調用函數,或者控制臺測試接口觸發函數。
使用限制
-
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。
- Request Headers不支持以"x-fc-"開頭的自定義字段和以下自定義字段:
-
HTTP Response限制
-
Response Headers不支持以"x-fc-"開頭的自定義字段和以下自定義字段:
- connection
- content-length
- date
- keep-alive
- server
- content-disposition:attachment
-
如果Response超過以下限制,會返回
502狀態碼和BadResponse錯誤碼。- Headers大小:Headers中的所有Key和Value的總大小不得超過8 KB。
-
說明
從安全角度考慮,使用函默認的ctyun.com域名,服務端會在Response Headers中強制添加**content-disposition: attachment**字段,此字段會使得返回結果在瀏覽器中以附件的方式下載。如果需要解除該限制,需設置自定義域名。
您可以通過綁定自定義域名,為函數映射不同的HTTP訪問路徑。
HTTP調用(推薦)
對于HTTP方式的調用,函數計算采用透傳方式:用戶client --> CF平臺--> Http server(自定義函數)。一些系統保留的字段將不會透傳,具體請參考上面的使用限制。
請求頭(HTTP Request Header)
使用HTTP觸發器或者自定義域名調用函數時,函數計算支持使用配置請求頭控制請求的行為,具體如下表所示。
| 名稱 | 類型 | 是否必選 | 示例 | 描述 |
|---|---|---|---|---|
| x-fc-invocation-type | String | 否 | sync | 調用方式說明如下:sync:同步調用。async:異步調用。 |
響應頭(HTTP Response Header)
使用HTTP觸發器或自定義域名調用函數時,響應中會包含函數計算默認添加的一些響應頭,具體如下表所示。
| Header | 描述 | 示例值 |
|---|---|---|
| x-fc-request-id | Request ID。 | dab25e58-9356-4e3f-97d6-f044c4**** |
| x-fc-req-cost-time | 請求耗時ms | 2 |
| x-fc-req-arrive-time | 請求到達時間 | 1731572710219 |