创建函数CreateFunction
更新时间:2024-07-05
接口描述
- 本接口用于创建函数。
请求结构
Plain Text
1POST /v1/functions HTTP/1.1
2Host: cfc.bj.baidubce.com
3Authorization: authorization string
4
5{
6 "Code": {
7 "ZipFile": "string",
8 "Publish": false,
9 "DryRun": true
10 },
11 "Description": "string",
12 "Timeout": 3,
13 "FunctionName": "string",
14 "Handler": "string",
15 "Runtime": "string",
16 "MemorySize":128,
17 "Environment": {
18 "Variables": {
19 "additionalProp1": "string",
20 "additionalProp2": "string",
21 "additionalProp3": "string"
22 }
23 }
24}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
Code | Code | 是 | Body参数 | CFC函数(zip格式最大长度限制为50MB, unzip格式的最大长度限制为250MB) |
Description | String | 否 | Body参数 | 一个简短的说明 0-256字符 |
Environment | Environment | 否 | Body参数 | 环境变量(最大长度限制为4KB) |
FunctionName | String | 是 | Body参数 | 您想要分配给您正在上传的函数的名称。注意,长度限制只适用于BRN。如果只指定函数名,则长度限制为64个字符。 |
Handler | String | 是 | Body参数 | cfc调用的入口函数,对于node为module-name.export eg. index.handler 最大长度128 |
MemorySize | int | 否 | Body参数 | 内存的大小,以MB为单位,CFC使用此内存大小来推断分配给您的函数的CPU和内存数量。默认值是128mb,必须是128MB的倍数。(现在CFC提供128至1024M的内存) |
Runtime | String | 是 | Body参数 | 运行语言,支持 nodejs6.11/nodejs8.4/nodejs8.5/nodejs10/nodejs12/python2/python3/java8/java8_stream/golang/php7/lua5.3/dotnetcore2.2/powershell6.2 |
Timeout | int | 是 | Body参数 | 超时时间 1-300 最大300 |
LogType | string | 否 | Body参数 | 日志类型 bos(对象存储) / none。 |
LogBosDir | string | 否 | Body参数 | 日志存储的 Bucket 路径。 |
VpcConfig | VpcConfig | 否 | Body参数 | 函数绑定的Vpc配置 |
DeadLetterTopic | string | 否 | Body参数 | 函数死信队列配置 |
响应头域
除公共头域,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
Uid | string | 用户ID(由数字、字母、下划线组成),长度限制128字符。 |
Description | string | 一个简短的说明,0-256字符。 |
FunctionBrn | string | 函数的唯一性资源标志符,1-170字符。 |
Region | string | 区域,现有 bj(北京)、su(苏州)、gz(广州)。 |
Timeout | int | 超时时间 1-300,最大300。 |
VersionDesc | string | 版本描述,0-256字符。 |
UpdatedAt | string | 函数最新更新时间。ISO-8601 格式 (YYYY-MM-DDThh:mm:ss.sTZD)。 |
LastModified | string | 同UpdateAt,兼容AWS Lambda。 |
CodeSha256 | string | 函数代码包的SHA256散列。 |
CodeSize | int | 函数包的大小,单位bytes。 |
FunctionArn | string | 同FunctionBrn,兼容AWS Lambda。 |
FunctionName | string | 函数的名称,由数字、字母、-或_组成。则长度限制为64个字符。 |
Handler | string | CFC调用的入口函数,对于node为module-name.export eg. index.handler 最大长度为128字符。 |
Version | string | 版本。LATEST表示最新,否则由数字组成。1-32字符。 |
Runtime | string | 运行语言。 |
MemorySize | int | 内存的大小,以MB为单位,CFC使用此内存大小来推断分配给您的函数的CPU和内存数量。默认值是128MB,必须是128MB的倍数。(现在CFC提供128至1024M的内存)。如果是Java8运行环境,内存大小为512至1024M。 |
Environment | Environment | |
CommitId | string | 单次提交的唯一标志。 |
Role | string | 函数的执行者角色。 |
LogType | string | 日志类型 bos(对象存储) / none。 |
LogBosDir | string | 日志存储的 Bucket 路径。 |
DeadLetterTopic | string | 死信队列Topic。 |
请求示例
Plain Text
1POST /v1/functions HTTP/1.1
2Authorization: Authorization string
3Content-Type: application/json; charset=utf-8
4Host: cfc.bj.baidubce.com
5Content-Length: 1042
6
7{
8 "Code": {
9 "ZipFile": "UEsDBBQACAAIAAyjX00AAAAAAAAAAAAAAAAIABAAaW5kZXguanNVWAwAsJ/ZW/ie2Vv6Z7qeS60oyC8qKdbLSMxLyUktUrBV0EgtS80r0VFIzs8rSa0AMRJzcpISk7M1FWztFKq5FIAAJqSRV5qTo6Og5JGak5OvUJ5flJOiqKRpzVVrDQBQSwcILzRMjVAAAABYAAAAUEsDBAoAAAAAAHCjX00AAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMALSf2Vu0n9lb+me6nlBLAwQUAAgACAAMo19NAAAAAAAAAAAAAAAAEwAQAF9fTUFDT1NYLy5faW5kZXguanNVWAwAsJ/ZW/ie2Vv6Z7qeY2AVY2dgYmDwTUxW8A9WiFCAApAYAycQGwFxHRCD+BsYiAKOISFBUCZIxwIgFkBTwogQl0rOz9VLLCjISdXLSSwuKS1OTUlJLElVDggGKXw772Y0iO5J8tAH0QBQSwcIDgnJLFwAAACwAAAAUEsBAhUDFAAIAAgADKNfTS80TI1QAAAAWAAAAAgADAAAAAAAAAAAQKSBAAAAAGluZGV4LmpzVVgIALCf2Vv4ntlbUEsBAhUDCgAAAAAAcKNfTQAAAAAAAAAAAAAAAAkADAAAAAAAAAAAQP1BlgAAAF9fTUFDT1NYL1VYCAC0n9lbtJ/ZW1BLAQIVAxQACAAIAAyjX00OCcksXAAAALAAAAATAAwAAAAAAAAAAECkgc0AAABfX01BQ09TWC8uX2luZGV4LmpzVVgIALCf2Vv4ntlbUEsFBgAAAAADAAMA0gAAAHoBAAAAAA=="
10 },
11 "Description": "test api",
12 "Environment": {
13 "Variables": {
14 "additionalProp1": "string"
15 }
16 },
17 "FunctionName": "fly-hello-001",
18 "Handler": "index.handler",
19 "MemorySize": 256,
20 "Publish": true,
21 "Runtime": "python2",
22 "Timeout": 5
23}
返回示例
Plain Text
1HTTP/1.1 201 Created
2Content-Type: application/json
3X-Bce-Request-Id: 2a9de674-03f6-42ff-b006-f0729e108dd5
4
5{
6 "Uid": "df391b08c64c426a81645468c75163a5",
7 "Description": "test api",
8 "FunctionBrn": "brn:bce:cfc:bj:cd64f99c69d7c404b61de0a4f1865834:function:fly-hello-001:1",
9 "Region": "bj",
10 "Timeout": 5,
11 "VersionDesc": "",
12 "UpdatedAt": "2019-03-15T15:07:06.040245209+08:00",
13 "LastModified": "2019-03-15T15:07:06.040245209+08:00",
14 "CodeSha256": "4OFxEke82hUugwILdGb/BxnQdSUTsPAYcSU9PNVdFlU=",
15 "CodeSize": 610,
16 "FunctionArn": "brn:bce:cfc:bj:cd64f99c69d7c404b61de0a4f1865834:function:fly-hello-001:1",
17 "FunctionName": "fly-hello-001",
18 "Handler": "index.handler",
19 "Version": "1",
20 "Runtime": "python2",
21 "MemorySize": 256,
22 "Environment": {
23 "Variables": {
24 "additionalProp1": "string"
25 }
26 },
27 "CommitId": "0feb0174-4288-4669-bfb6-a8c8c80df112",
28 "Role": "",
29 "LogType": "none"
30 }