创建函数CreateFunction
更新时间:2024-07-05
接口描述
- 本接口用于创建函数。
请求结构
POST /v1/functions HTTP/1.1
Host: cfc.bj.baidubce.com
Authorization: authorization string
{
"Code": {
"ZipFile": "string",
"Publish": false,
"DryRun": true
},
"Description": "string",
"Timeout": 3,
"FunctionName": "string",
"Handler": "string",
"Runtime": "string",
"MemorySize":128,
"Environment": {
"Variables": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
}
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
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。 |
请求示例
POST /v1/functions HTTP/1.1
Authorization: Authorization string
Content-Type: application/json; charset=utf-8
Host: cfc.bj.baidubce.com
Content-Length: 1042
{
"Code": {
"ZipFile": "UEsDBBQACAAIAAyjX00AAAAAAAAAAAAAAAAIABAAaW5kZXguanNVWAwAsJ/ZW/ie2Vv6Z7qeS60oyC8qKdbLSMxLyUktUrBV0EgtS80r0VFIzs8rSa0AMRJzcpISk7M1FWztFKq5FIAAJqSRV5qTo6Og5JGak5OvUJ5flJOiqKRpzVVrDQBQSwcILzRMjVAAAABYAAAAUEsDBAoAAAAAAHCjX00AAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMALSf2Vu0n9lb+me6nlBLAwQUAAgACAAMo19NAAAAAAAAAAAAAAAAEwAQAF9fTUFDT1NYLy5faW5kZXguanNVWAwAsJ/ZW/ie2Vv6Z7qeY2AVY2dgYmDwTUxW8A9WiFCAApAYAycQGwFxHRCD+BsYiAKOISFBUCZIxwIgFkBTwogQl0rOz9VLLCjISdXLSSwuKS1OTUlJLElVDggGKXw772Y0iO5J8tAH0QBQSwcIDgnJLFwAAACwAAAAUEsBAhUDFAAIAAgADKNfTS80TI1QAAAAWAAAAAgADAAAAAAAAAAAQKSBAAAAAGluZGV4LmpzVVgIALCf2Vv4ntlbUEsBAhUDCgAAAAAAcKNfTQAAAAAAAAAAAAAAAAkADAAAAAAAAAAAQP1BlgAAAF9fTUFDT1NYL1VYCAC0n9lbtJ/ZW1BLAQIVAxQACAAIAAyjX00OCcksXAAAALAAAAATAAwAAAAAAAAAAECkgc0AAABfX01BQ09TWC8uX2luZGV4LmpzVVgIALCf2Vv4ntlbUEsFBgAAAAADAAMA0gAAAHoBAAAAAA=="
},
"Description": "test api",
"Environment": {
"Variables": {
"additionalProp1": "string"
}
},
"FunctionName": "fly-hello-001",
"Handler": "index.handler",
"MemorySize": 256,
"Publish": true,
"Runtime": "python2",
"Timeout": 5
}
返回示例
HTTP/1.1 201 Created
Content-Type: application/json
X-Bce-Request-Id: 2a9de674-03f6-42ff-b006-f0729e108dd5
{
"Uid": "df391b08c64c426a81645468c75163a5",
"Description": "test api",
"FunctionBrn": "brn:bce:cfc:bj:cd64f99c69d7c404b61de0a4f1865834:function:fly-hello-001:1",
"Region": "bj",
"Timeout": 5,
"VersionDesc": "",
"UpdatedAt": "2019-03-15T15:07:06.040245209+08:00",
"LastModified": "2019-03-15T15:07:06.040245209+08:00",
"CodeSha256": "4OFxEke82hUugwILdGb/BxnQdSUTsPAYcSU9PNVdFlU=",
"CodeSize": 610,
"FunctionArn": "brn:bce:cfc:bj:cd64f99c69d7c404b61de0a4f1865834:function:fly-hello-001:1",
"FunctionName": "fly-hello-001",
"Handler": "index.handler",
"Version": "1",
"Runtime": "python2",
"MemorySize": 256,
"Environment": {
"Variables": {
"additionalProp1": "string"
}
},
"CommitId": "0feb0174-4288-4669-bfb6-a8c8c80df112",
"Role": "",
"LogType": "none"
}