调用UpdateFunction接口更新函数信息。
请求头
该接口使用公共请求头和特殊请求头。本文已列出特殊请求头,公共请求头,请参见公共参数。
名称 | 类型 | 是否必选 | 示例 | 描述 |
---|---|---|---|---|
If-Match | String | 否 | e19d5cd5af0378da05f63f891c7467af |
用于确保实际更改的资源和期望更改的资源是一致的,该值来自CreateFunction、GetFunction和UpdateFunction的响应。 |
X-Fc-Code-Checksum | String | 否 | 543402527838814**** |
函数代码包的CRC-64值。 |
请求语法
PUT /services/{serviceName}/functions/{functionName} HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
serviceName | String | Path | 是 | service_name |
服务的名称。 |
functionName | String | Path | 是 | function_name |
函数的名称。 |
Object | Body | 否 |
函数的定义。 |
||
code | Code | Body | 否 |
指定Code ZIP包。 |
|
customContainerConfig | CustomContainerConfig | Body | 否 |
Custom Container运行时的相关配置。配置后函数可以使用自定义容器镜像执行函数。 |
|
layers | Array of String | Body | 否 | 02f81d283888f5ec63442a88fe82b260#Layer-name#1 |
层资源的名称。 |
description | String | Body | 否 | test_description |
函数的描述信息。 |
environmentVariables | Map | Body | 否 |
为函数设置的环境变量,可以在函数中获取环境变量的值。更多信息,请参见环境变量。 |
|
handler | String | Body | 否 | index.handler |
函数执行的入口,具体格式和语言相关。更多信息,请参见函数入口。 |
memorySize | Integer | Body | 否 | 512 |
函数的内存规格,单位为MB,内存大小为64 MB的倍数。不同的函数实例类型,内存规格存在差异,更多信息,请参见实例规格。 |
runtime | String | Body | 否 | python3 |
函数运行的语言环境,支持nodejs14、nodejs12、nodejs10、nodejs8、nodejs6、nodejs4.4、python3.9、python3、python2.7、java11、java8、go1、php7.2、dotnetcore2.1、custom和custom-container。更多信息,请参见支持的函数运行环境列表。 |
timeout | String | Body | 否 | 60 |
函数运行的超时时间,单位为秒,默认60秒。最小1秒,最长86400秒。函数超过这个时间后会被终止执行。 |
initializationTimeout | Integer | Body | 否 | 60 |
初始化函数运行的超时时间,单位为秒,默认3秒。最小1秒,最长5分钟。初始化函数超过这个时间后会被终止执行。 |
initializer | String | Body | 否 | index.handler |
初始化函数执行的入口,具体格式与语言相关,更多信息,请参见Initializer函数。 |
caPort | Integer | Body | 否 | 9000 |
Custom Runtime或Custom Container运行时HTTP Server的监听端口。 |
Code支持两种方式提供函数代码包,在一次请求中必须且只能使用其中一种:
- 指定存储代码包的ossBucketName和ossObjectName。
- 指定zipFile为ZIP包的Base64编码内容。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
ETag | String | e19d5cd5af0378da05f63f891c74**** |
确保实际修改的函数和期望更改的函数是一致的。该值来自CreateFunction、GetFunction和UpdateFunction的响应。 |
codeChecksum | String | 2825179536350**** |
函数代码包的CRC-64值。 |
codeSize | Long | 421 |
系统返回的函数的代码包大小,单位为Byte。 |
createdTime | String | 2020-04-01T08:14:58Z |
函数的创建时间。 |
customContainerConfig | CustomContainerConfig |
Custom Container运行时的相关配置。配置后函数可以使用自定义容器镜像执行函数。 |
|
layers | Array of String | 02f81d283888f5ec63442a88fe82****#Layer-name#1 |
层资源的名称。 |
description | String | test_description |
函数的描述。 |
environmentVariables | Map |
为函数设置的环境变量,可以在函数中获取环境变量的值。更多信息,请参见环境变量。 |
|
functionId | String | e68905d5-f81c-4238-a5e4-*** |
系统为每个函数生成的ID,全网唯一。 |
functionName | String | function_name |
函数的名称。 |
handler | String | index.handler |
函数执行的入口,具体格式和语言相关,更多信息,请参见函数入口。 |
lastModifiedTime | Long | 2016-08-15T17:00:00.000+0000 |
函数上一次被更新的时间。 |
memorySize | Integer | 512 |
函数的内存规格,单位为MB,内存大小为64 MB的倍数。不同的函数实例类型,内存规格存在差异,更多信息,请参见实例规格。 |
runtime | String | python3 |
函数运行的语言环境,支持nodejs14、nodejs12、nodejs10、nodejs8、nodejs6、nodejs4.4、python3.9、python3、python2.7、java11、java8、go1、php7.2、dotnetcore2.1、custom和custom-container。更多信息,请参见支持的函数运行环境列表。 |
timeout | Integer | 10 |
函数运行的超时时间,单位为秒,默认60秒。最小1秒,最长86400秒。函数超过这个时间后会被终止执行。 |
initializationTimeout | Integer | 60 |
初始化函数运行的超时时间,单位为秒,默认3秒。最小1秒,最长5分钟。初始化函数超过这个时间后会被终止执行。 |
initializer | String | index.handler |
初始化函数执行的入口,具体格式与语言相关,更多信息,请参见Initializer函数。 |
caPort | Integer | 9000 |
Custom Runtime或Custom Container运行时HTTP Server的监听端口。 |
示例
请求示例
PUT /services/service_name/functions/function_name HTTP/1.1
Host:fc-ram.aliyuncs.com
If-Match:e19d5cd5af0378da05f63f891c7467af
X-Fc-Code-Checksum:543402527838814****
Content-Type:application/json
{
"code" : {
"ossBucketName" : "demo-bucket",
"ossObjectName" : "demo-key",
"zipFile" : "cHJpbnQoImhlbGxvIHdvcmxkIikK"
},
"customContainerConfig" : {
"args" : "[\"-arg1\", \"value1\"]",
"command" : "[\"/code/myserver\"]",
"image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
"accelerationType" : "Default",
"instanceID" : "cri-xxxxxxxx"
},
"layers" : [ "02f81d283888f5ec63442a88fe82b260#Layer-name#1" ],
"description" : "test_description",
"handler" : "index.handler",
"memorySize" : 512,
"runtime" : "python3",
"timeout" : "60",
"initializationTimeout" : 60,
"initializer" : "index.handler",
"caPort" : 9000
}
正常返回示例
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"codeChecksum" : "2825179536350****",
"codeSize" : 421,
"createdTime" : "2020-04-01T08:14:58Z",
"customContainerConfig" : {
"args" : "[\"-arg1\", \"value1\"]",
"command" : "[\"/code/myserver\"]",
"image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
"accelerationType" : "Default",
"instanceID" : "cri-xxxxxxxx"
},
"layers" : [ "02f81d283888f5ec63442a88fe82****#Layer-name#1" ],
"description" : "test_description",
"functionId" : "e68905d5-f81c-4238-a5e4-***",
"functionName" : "function_name",
"handler" : "index.handler",
"memorySize" : 512,
"runtime" : "python3",
"timeout" : 10,
"initializationTimeout" : 60,
"initializer" : "index.handler",
"caPort" : 9000
}