调用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

函数运行的语言环境。当前支持Node.js 6.xNode.js 8.xNode.js 10.xNode.js 12.xNode.js 14.xPython 2.7Python 3Java 8Java 11PHP 7.2.NET Core 2.1Go 1.xCustom RuntimeCustom 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

函数运行的语言环境。当前支持Node.js 6.xNode.js 8.xNode.js 10.xNode.js 12.xNode.js 14.xPython 2.7Python 3Java 8Java 11PHP 7.2.NET Core 2.1Go 1.xCustom RuntimeCustom 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
}