背景信息
自定义运行时支持托管用户的HTTP Server。支持用户http请求的转发,请求链路:用户client --> CF平台--> Http server(自定义函数)
有两种调用函数的方式:
- HTTP调用(推荐):例如使用HTTP触发器或者自定义域名。
- API调用:通过Invoke API进行调用,例如使用SDK调用函数,或者控制台测试接口触发函数。
使用限制
-
一个函数的一个版本或别名,最多只能创建一个HTTP触发器。详细信息,请参见管理版本和管理别名。
-
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
说明
从安全角度考虑,使用函默认的ctyun.com域名,服务端会在Response Headers中强制添加content-disposition: attachment字段,此字段会使得返回结果在浏览器中以附件的方式下载。如果需要解除该限制,需设置自定义域名。
-
-
如果Response超过以下限制,会返回
502
状态码和BadResponse
错误码。- Headers大小:Headers中的所有Key和Value的总大小不得超过8 KB。
-
-
其他使用说明
您可以通过绑定自定义域名,为函数映射不同的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 |