调用UpdateFunction接口更新函数信息。

请求头

该接口使用公共请求头和特殊请求头。本文已列出特殊请求头,公共请求头,请参见公共参数

名称 类型 是否必选 示例 描述
If-Match String e19d5cd5af0378da05f63f891c7467af

用于确保实际更改的资源和期望更改的资源是一致的,该值来自CreateFunctionGetFunctionUpdateFunction的响应。

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

函数运行的语言环境,支持nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore2.1customcustom-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****

确保实际修改的函数和期望更改的函数是一致的。该值来自CreateFunctionGetFunctionUpdateFunction的响应。

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

函数运行的语言环境,支持nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore2.1customcustom-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
}